Unplugged Programming

I wasn’t really thinking about discussing it here when I first came to this discussion board — but seeing that it has a forum dedicated to computer technologies, including the art of computer programming, was the last straw in favor of changing my mind in favor of discussing it here.

I wrote not too long ago I wrote this blog post about what I refer to as “Unplugged Programming” — that is, a discipline of computer programming that focuses not only on refining the piece of software being written, but also on refining the programmer who is doing the coding. The result — the programmer reaches higher and higher levels of mastery.

The state of Perfect Mastery of a programming environment is when you can sit alone in a room with no high-tech devices, just a clipboard, lots of grid paper, and writing implements (i.e. pens and/or pencils) and write on the grid paper programs of any degree of complexity for that particular programming environment — and know that if entered properly into the computer, the program will compile and run exactly as it is supposed to. Granted, this Perfect Mastery is an asymptotal goal, not an actualizable goal — which means that nobody ever actually reaches it — but one does get with practice closer and closer to this goal.

It isn’t so much about memory — but it is about training and honing one’s own mental abilities to levels that some people don’t believe to be possible - while those who have trained in it know first-hand that it is humanly possible — even if in this case it is in the realm of comprehension of computer algorithms and program-code rather than in the realm of memory.

So — I invite you all to read the post and tell me what you think about it.

I like this approach.
Broadly, it is how I program.
However; I miss a step.
What happens a lot is when you develop a piece of software, after working with it a bit, maybe even after a month or so, in some cases I want to rewrite it. So in a lot of cases I find bugs and repair then. Sometimes after adding to the code I find it becoming too complex and completely rewrite it.

For me this is a vital step in both growing as a programmers and writing the highest quality code.