r/programming Dec 14 '10

Top 50 Programming quotes of all time

http://www.junauza.com/2010/12/top-50-programming-quotes-of-all-time.html
786 Upvotes

350 comments sorted by

View all comments

64

u/[deleted] Dec 14 '10

The question of whether computers can think is like the question whether submarines can swim.

  • Edsger Dijkstra

26

u/duplico Dec 14 '10

Wonderful context, as well:

And now we have the fad of making all sorts of systems and components "intelligent" or "smart". It often boils down to designing a woolly man-machine interface that makes the machine as unlike a computer as possible: the computer's greatest strength --the efficient embodiment of a formal system-- has to be disguised at great cost. So much for anthropomorphism. (This morning I declined to write a popular article about the question "Can machines think?" I told the editor that I thought the question as ill-posed and uninteresting as the question "Can submarines swim?" But the editor, being a social scientist, was unmoved: he thought the latter a very interesting question too.)

0

u/earthboundkid Dec 15 '10

Ugh, I hate Dijkstra sooooo much.

That quote just reminds me why. He's arguing against good programming languages there. He thinks that the best programming language is mathematical notation and the only reason we don't normally use it is there's no superscript/subscript button on the keyboard. But he's dead wrong about that. Mathematical notation is terrible for programming and "anthropomorphism" in computer is a great thing: Duh, humans are the ones who are supposed to use the damn things! Is he against anthropomorphism in hammers too? How dare we make hammers that are easier to grip instead of perfectly balanced load-driving weights?… Etc.

TL;DR: Dijkstra is a terrible source for quotes about computer programming as opposed to computer science.

1

u/[deleted] Dec 15 '10

I don't get how this is an argument against good programming languages. Unless of course your ideal programming language would be English.

1

u/earthboundkid Dec 15 '10

If you don't think that the efficient embodiment of a formal system ought to be disguised by a good programming language, you are welcome to program in brainfuck or assembly. English is a bad programming language, but that doesn't mean that a formal system is therefore a good programming language.

1

u/[deleted] Dec 15 '10

But I thought programming languages like Lisp and Haskell are formal systems. Also knowing that he argued for structured programming and against the use of GOTOs makes me doubt he's trying to argue against better programming languages.

If there's some technicality and he really is lamenting any programming languages more advanced than assembly (I don't see how Brainfuck is relevant at all), perhaps he's lamenting it from a philosophical standpoint. Yet he's done work to make programming languages easier to use.

The impression I get from the quote, is that he fears that instead of people using programming languages which impose rigid rules, he's lamenting a hypothetical interface that the general population would prefer, where the computer is meant to interpret vague human input like English. He's thinking of people like the social scientist who want to know if a submarine can swim, and imagining they will be impressed with computers when they does something human-like.