5 ms·
Ok, the first thought reading the title was "ah, surely this is about Dijkstras." The immediate second thought that came was the famous quote “I don't know how
by psychoslave 3y ago
Ok, the first thought reading the title was "ah, surely this is about Dijkstras."
The immediate second thought that came was the famous quote “I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras”, from Alan Kay should I believe https://www.goodreads.com/quotes/69528-i-don-t-know-how-many-of-you-have-ever-met https://www.goodreads.com/quotes/69528-i-don-t-know-how-many...
- photonthug 3y agoHmm, time will tell on this rivalry. OOP may not be as harmful as GOTO, but it does seem to be falling out of favor. Dijkstras point of view may be as vindicated with one as with the other.
- rfrey 3y agoBeing correct or incorrect is orthogonal to arrogance.
- photonthug 3y agoI agree, but this can also be tactical since for whatever reason it's rare in certain cultures that quiet humility is listened to. Also confidence or bluntness may be easily mistaken for arrogance. IDK about Kay but lots of Americans who think they like a "straight shooter" are still unprepared for a Dutch-style discussion
- akira2501 3y ago> it's rare in certain cultures that quiet humility is listened to. There's the old adage that you "can lead a horse to water but you can't make him drink." I wonder what those who give up on humility think they're actually gaining?
- tialaramex 3y agoNote that Dijkstra's letter is about the "go-to statement" a then common but now very rare language feature which is akin to the machine code absolute jump - whatever you were doing, now you're doing this with no context. BASICs are perhaps the language HN readers are most likely to have seen which (in some cases) have the GOTO feature Dijkstra wrote the letter about, if you've seen goto in C for example, or C++, that resembles the go-to statement superficially, but in practice it's not very dangerous because it's constrained. Suppose my C++ f() recursive function adds a "goto" - it's not allowed to jump into a different function g(), it's not even allowed to jump into a different iteration of the same function f(), it's only allowed to change which part of the current iteration of the current function happens next, and it can't skip the destruction or initialization of variables, or other book keeping.
- kevin_thibedeau 3y agoC/C++ has the dangerous goto under the guise of longjmp().
- tialaramex 3y agoAlthough longjmp is more dangerous than C's goto, it's not that close to what Dijkstra was warning about. A longjmp is only allowed to move execution back to somewhere it was previously, and in the process all the appropriate book keeping is done, it can't send you somewhere you've never been or evade initialization/ destruction (at least any more so than these languages manage by themselves).
- mayoff 3y agoMichael Snoyman has a great talk about this, “FP is the new OOP”. He argues that some major concepts that OOP popularized are now mainstream and accepted, and OOP-bashing ignores those concepts and just acts like OOP only means the bad parts. https://youtu.be/to8ISIQjETk https://youtu.be/to8ISIQjETk
- tristramb 3y agoI think Peter Medewar once said of James Watson and Francis Crick that "they have done somthing worth being arrogant about". The same applies to Dijkstra. You could start with this account of the Dijkstra-Zonneveld Algol 60 compiler written by Kruseman Aretz: https://ir.cwi.nl/pub/4155 https://ir.cwi.nl/pub/4155.
- marcosdumay 3y agoI always wonder if he was so different in person than he was on his essays and interviews. We are talking about the person that institutionalized the "we people aren't smart enough to do X" line of thinking from software engineering. Of course, he was also quick to call a spade a spade, but I haven seeing any case of him denouncing something that wasn't obviously bad.
- jhp123 3y agoDid Dijkstra ever write down a personal insult like this against anyone? I haven't come across it...
- LAC-Tech 3y agoObject-oriented programming an exceptionally bad idea which could only have originated in California
- LAC-Tech 3y agoApparently Alan Kay knew Dijkstra and was meant as a joke rather than some big insult.
- Gibbon1 3y agoI feel like it's not just Dijkstra but the abrasive arrogance computer science inherited from mathematics culture has been a huge negative. It's why the workplaces are toxic and why women have abandoned the field. It's worse where computer science culture and marketing culture intersect. But Dijkstra is the poster child for that sort of thing.