Archive for April, 2008

Programming = Language + X

April 27, 2008

Suppose you are a beginner on the piano. You hear a piece of music that catches your fancy and borrow the score from the library. If the music is beyond your capabilities, you’ll know soon enough: if not right away on turning the cover page, then before you get to the end of the first few bars.

In programming, it’s different. There you can be busy for days or weeks, even months, learning the ins and outs of, say, Java and its libraries. Flushed with the illusion of power that all this knowledge brings, you come across something that catches your fancy, say, write a program that solves Sudoku puzzles. Wouldn’t that be neat! Now that you know so much about this powerful and sophisticated programming language, what’s going to stop you? Even after weeks of thrashing around, you may not know what hit you.


Where Have the Great Programmers Gone?

April 25, 2008

We need good software more than ever. It seems likely that the quality of software has a lot to do with the quality of the programmers who write it. Programming ability is distributed unequally in the extreme. Hence it makes sense to recognize the existence of great as opposed to merely good programmers.

The twin theses of this essay are that the current educational environment militates against the discovery and nurturing of programming talent, in spite of the crucial importance of great programmers. Moreover, even if a manager can get hold of a rare great programmer, it is not clear how she or he can be used. In this essay I contrast the current environment with the one in which the first great programmers were reared and consider what can be done.