Having a machine to interact with allows you to test
your code on the spot
and if you are writing in an interpreted language the error-checking the
interpreter provides is a godsend for the coder. Why anyone would code
without the interaction of the target machine is beyond me.
I write perfect code, like Mozart it flows out in its final form to the
paper, and then to the system.