Dijsktra is dead, Basic is alive



A recent conversation in the Pygame server on Discord brought up the infamous quote by Edsger W. Dijsktra. You know the one:

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

Which only made me aware of how Dijsktra has been dead for 17 years, and here I am having a blast making games in Basic. Not just modern dialects, either, but also the line-number kind he was railing against, ostensibly because of all those hated GO TO statements.

Speaking of which, Dijsktra was wrong.

How come? You just try making a couple pages of line-number code work without careful planning, never mind more. If anything, it's structured programming that lets you make a mess. You sort of go back and forth over the program, adding a little here and there, never having to stop and factor it out into functions, or group variable declarations in a way that makes sense. Unless you learn the discipline of doing it anyway.

However, I suspect that's not what Dijsktra actually hated about Basic. My bet is the old grump was simply jealous that his students were having fun with it, and hated using a Serious Programming Language like Pascal. Of course they did. Brian Kernighan wrote an entire book about the reasons Pascal was unsuitable for real-world use (at the time, anyway), but the root cause was that Pascal was designed to support a very particular style of teaching computer science. One that assumed students were mentally challenged subhumans whom the teacher had to whip into shape with his Superior Intellect, that revealed him and him alone the One True Way of doing things.

Compare that with the freewheeling exuberance of shell script and C, both also derived from good old ALGOL. Structured programming has nothing to do with it.

Sure enough, even with the imminent demise of a Basic programming community, many others remain, and continue to create wonderful things in many different dialects. What do we rememeber old grumps for? How they tried to stop everyone from having fun.

How's that for a legacy.


Tags: programming, philosophy