What is programming?
When you first start programming, the answer is painfully obvious: Programming is making the computer do what you want.
However, if you have any aptitude for it at all, you will rapidly get to the point where making the computer do what you want really isn't that hard. Oh, you may be betrayed by your environment, your libraries, even your hardware sometimes, and you never get to the point where you are immune to the multi-day debugging sessions, but in general, getting the computer to do what you want ceases to be a challenge.
The true challenge of programming is learning to want the right things, and then how to obtain those things, beyond the mere first-order consideration of "does it run right now?"
When you work on the same product for three years, you will learn to want maintainable code. Writing code that works is easy; learning how to write maintainable code is a worthy challenge.
When you start work on a project that has fifty man-years already put into it, you will learn to want code that is properly documented. Learning exactly what "properly documented" truly entails is a worthy challenge.
When a project exceeds the size that one person can comfortably hold in their head, you will learn to want code that is conceptually clean and easy to come back to; a worthy challenge.
And so on, for a number of worthy challenges.
If only it were so easy as "making the computer do what we want"!
Programmers that can make computers do things are a dime a dozen. Programmers that have learned to want the right things are unusual.
So if I want to absorb something complicated quickly - or even, when I need to do so, slowly - the efficient way to help me is to write it out first. When you think of it, the time compression between reading and writing is quite astonishing: the thriller that lasts for half a plane journey will have taken half a year to write.....
... Just for an experiment, try listening to the television news while not watching the pictures. You will be just as well informed and half your attention has been freed for other things. You will also notice - without the distractions - that hardly anything of any interest has been said at all. If you just read a transcript of what has been said, you will have learned even more, and in even less time. - This article is not available as a podcast or a videoblog
Reminds me of my mission statement.
The core point of the entire Programming Wisdom blogbook.
Expanding the points made in Compression and Compression in Languages up to the Methodology level, and beyond.
Wherein the point I was setting up in Compression is made.
|<- Future Posts||Past Posts ->|