Very Intelligent Idiots
This quote, which I remembered from way back when but not who said it, has haunted me all my working life in this trade. Until now.
I understand that Dijkstra is a well regarded figure in computer science, but he’s also a prime example of how a person can be very intelligent, and very stupid. These things do not necessarily contradict each other.
Don Juan would say he was defeated by the second foe (clarity). Great intelligence can do that to a person who stops questioning what they know and how they know it. Or to paraphrase Yoda, certainty is the path to the stupid side of the Force. Certainty leads to arrogance, arrogance leads to crankiness, crankiness leads to everyone around you suffering.
Microsoft made many good improvements to the BASIC language that lifted it from a tool to teach students programming to an impressive tool for creating business applications. Microsoft gave BASIC scoping, subroutines and functions that returned values. You could set a keyword at the beginning of a file, and I always did, that forced variables to be declared before their use. You could have unions. In Visual Basic you got try-catch blocks, and eventually the BSTRING which gave you a real pointer to a string instead of a pointer to a descriptor that you had to decode. This was very useful for Windows API calls. In Visual Basic I had COM objects I could use to manipulate all the Microsoft Office applications. But even in DOS PDS Basic I could utilize a rich selection of third party libraries of assembly routines that allowed me to avoid the ON ERROR GOTO hack, and simply test for a return value when I did things like file I/O.
But the essence of it was still BASIC, which I’m sure would have kept it on this man’s shit list anyway. I loved working with it though, because if you gave your variables logical looking names you could write code that almost read like plain english. I made a good living working in BASIC. There was no mutilation, there was emergence. But try telling this to a dick like this man.
Anyway…I just read this on a Facebook page dedicated to the BASIC programming language, and it was very helpful in putting that ghost to rest.
This from Richard Keijzer, really tells you everything you need to know about the man…
Did you ever experience that knowledge of Basic programming was a liability? It prevented me from doing my job. This is what happened:
Last century I was a journalist for a trade magazine in The Netherlands. We got news that computer scientist Edsger Dijkstra was about to give a lecture in Amsterdam and we tried to arrange an interview beforehand. It seems he had a list of people that “indulged in Basic” and I was on that list. He made it very clear that he would not speak to bunglers, and there I stood in the corridor. The door to the room where Dijkstra was staying did not open for me…
So instead I went to his lecture, and transformed the data he gave there into an interview. My editor wouldn’t be satisfied if I returned empty handed.
A couple of weeks later I met with a friend, who was professor of computer linguistics and pattern recognition. I told him what happened and how I felt about that. He looked me in the eye and said: “Dijkstra has written a program to prove the correctness of other programs. The only problem is, his program cannot cope with discontinuities. Now, the GOTO command represents a discontinuity… You do the math!”
Yeah I can do the math. I can also write a very good business application in any of Microsoft’s BASICs. Also Java, and Python. Half of what’s in this website is my own HTML.