Wednesday, April 11, 2007

Dijkstra computer inversion quotes

For a long while I've been aware of this Edsger Dijkstra's twisty aphorism:

Computer Science is no more about computers than astronomy is about telescopes.
The way I've interpreted this is that computer science uses computers, certainly, but the ideas, especially those of algorithms, are applicable in other areas and perhaps other embodiments of the things we call "computers."

I say this quote is "twisty" because it smacks the common understanding onto its head, and makes you feel a bit silly for associating computers with something called computer science.

Today I ran across another Dijkstra gem in the same vein when answering his own question "What is programming?":
We can view the program as what turns the general-purpose computer into a special-purpose symbol manipulator, and does so without the need to change a single wire... I prefer to describe it the other way round: the program is an abstract symbol manipulator, which can be turned into a concrete one by supplying a computer to it.

--From "The Cruelty of Really Teaching Computer Science"
You can see the shadow of the first quotation in the second one. Modern digital computers considered a passing fad in the march of computer science progress, and something that could give concrete life to the abstract algorithm specification we call a program.

No comments: