9 ms·
Knuth on Dijkstra (2014)
- planet-and-halo 5y agoDefinitely true. This is something every teacher has to take into account. The amount of knowledge that has seeped into your unconscious is substantial, and it's easy to forget that some people are still in the "unconscious incompetence" or "conscious incompetence" stage.
- Tomte 5y ago> someone having standing to call BS on Dijkstra Yes, but he does so respectfully. A lost art…
- coldtea 5y agoWell, Dijkstra, on the other hand, was known to disrespect people...
- the-dude 5y agoTo exonerate him a bit, he was Dutch. And we don't call it disrespect, but telling the truth. But, do you have pointers to such cases?
- wil421 5y agoDutch always tell the truth or an opinion? There’s a difference between being blunt and arrogant or a just plain asshole.
- teekert 5y agoWe always tell the truth and we also never generalize!
- mro_name 5y agoand best regards to Crete!
- the-dude 5y agoThere are many truths.
- majkinetor 5y agoThere is only one truth about what YOU think.
- coldtea 5y agoYes, and peoples with sublety understand what they "trully think" is not necessarily the true objective reality - which is why they don't bluntly declare it as if it is, and as if making it known is the only thing that mattered. Which is why: "This idea might not be good" can be better than: "This idea is BS" Even if the second is more direct and is what you "trully think". Because even if you "trully think" the idea is BS, that's just like, your opinion, man. The first formulation makes this clearer. P.S. You can't complaint about me being curt here though, I blunty said what I trully think about this :-)
- majkinetor 5y agoSorry man, but people should know when they are older then 10 that what anybody thinks is their opinion and not reality. There is no need to say it each time. So you prefer people hiding their true thoughts instead of being honest? Its probably one of the major reasons for all the BS we have around...
- perl4ever 5y agoI generally have multiple possibilities in mind in any situation, and sometimes people acknowledge this as a normal mode of human thought, so it's odd when others contradict it with the same apparent confidence.
- Koshkin 5y ago"A good thing about truths is that there are so many to choose from!"
- mettamage 5y agoLet's say something is not worth someone's time. Dutch people: "xyz is not worth my time." Polite Dutch people: "Unfortunately, xyz is not worth my time." British people: "xyz is interesting indeed." I don't really know well enough what other cultures would say. They're all opinions, but on direct opinions you can at least trust that the person telling them believes them. It's not disrespect, direct communication yields a higher signal.
- majkinetor 5y agoI often go so far to not want to work with people who sugar coat it. I prefer "your idea is pure garbage" over "it needs more work" because I want honesty above anything else as it leads to more efficient execution. Yes, some people feelings are hurt, but when I happen to cause it, I remember that 10 years old kids can survive much more brutal expressions while adults act like they are part of the mickey mouse club.
- coldtea 5y ago>I prefer "your idea is pure garbage" over "it needs more work" because I want honesty above anything else as it leads to more efficient execution. Does it though, or does it lead to animosity, back-stabbings, a toxic environment, discouragement and so on? Such things also have their tradeoffs.
- majkinetor 5y agoIf it leads o backstabing I am will prefer not to work with you. If you act like a 3 year old kid in professional context, then you are not welcome in my environment. So this is also a kind of test - real life is ripe which MUCH more worst examples of it, and if you can't take a honest negative comment, it says a lot about you. At my current job I have a team of 4 and we can say to each other much more nasty shit then that, and I can't imagine working with such passion with anybody else (the feeling is mutual). We also accomplish x10 more then any other team.
- 5y ago
- fleddr 5y agoThe more neutral term is directness, which is undeniably a mainstream dutch style of conversation. Expats living in the Netherlands do sometimes express it being too blunt at times, yet quite a few more find it refreshing. And it's easy to see why. It's simple and efficient. You don't have to decode all the misdirection, fakeness, sugar coating that comes with less direct communication. You just get the message. It's less effort to parse and no information is lost in the process. And as you experience the delivery of this directness in real life, you can tell from body language that the messenger has zero intention to harm or upset you. Good intentions are clear. Directness is also an asset in business. Just the other week I openly challenged a manager 3 levels above me in a large 200+ meeting. I basically told him that his plan was based on quicksand, poor research (none at all), with unclear benefits. There's very few countries where you can do this, but here you can. And it's wonderful. In other cultures, you may simply not challenge a bad idea at all or needs tons of political massaging to get your feedback across. The result is that real, direct, non-political feedback flows to the top, which should be a core interest for leaders, rather than having yes-men. The dutch reject nonsense as part of their core, based on the national slogan "be normal, that's crazy enough". We don't like fluff, celebrities showing of too much, window dressing, misdirection, or any other tactic that is based on deceit. As such, arrogance is not our style, it is the very thing we break down.
- tuatoru 5y agoIf this is really so valuable, why aren't the largest, most successful corporations in the world Dutch? Interesting organization theory question here.
- Jtsummers 5y agoBecause "the market" isn't perfectly efficient at removing poorly functioning organizations thanks to various delays in the feedback mechanisms. Also, humans aren't 100% rational and are perfectly capable of perpetuating even the dumbest of corporations. And even if they were, who's to say there aren't other criteria which wouldn't have greater influence on the success or failure than the directness of the Dutch versus the English euphemisms and couching.
- zerr 5y agoI believe it is not about what but how.
- brnt 5y agoAlways annoying when you're dealing with a Dutch who insists on conflating directness (or worse, 'honesty') with rudeness. Makes me positively want to have some other passport. (Queue the why dontchas, naively illustrating my point ;))
- goto11 5y agoA classic example: “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.” This is just typical gatekeeping, not "truth".
- musicale 5y agoDijkstra's letter "How do we tell truths that might hurt?" is a famous rant with a good deal of rhetorical flair. In context you can see that he (rather hilariously) savaged some of the most popular commercial programming languages at that time: FORTRAN, PL/I, BASIC, COBOL, and APL. (Somehow Lisp/Algol/C/Pascal got off unscathed; presumably they weren't popular enough in 1975 - otherwise Dijkstra would undoubtedly have had bad things to say about them as well.) https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF
- goto11 5y agoWasn't Dijkstra involved in the design of Algol?
- the-dude 5y agoFrom your username I take : you're biased. No hope.
- tomjakubowski 5y agoProbably not GOTO 11 https://www.youtube.com/watch?v=KOO5S4vxi0o https://www.youtube.com/watch?v=KOO5S4vxi0o
- tejtm 5y agoPlus the language constructs, at least when transliterated into English, tend toward the imperative. Which put me at odds with my mother in law till I figured out she really did not have another way of communicating and was not as harsh as her words sounded.
- suetoniusp 5y agoIts always funny to me explaining perceived rudeness as just being from a Nation State. More they beat their chest and swell their pride because of it.
- choeger 5y agoIIRC the point that Dijkstra made was that the available programming languages, like Fortran or Cobol were already FUBAR. He considered them toxic. So he would have thought differently in a world with more mature tools like Haskell, Rust, or a decent Lisp implementation.
- random314 5y agoDijkstra actually recommended Haskell as a teaching language.
- wyager 5y agoHe was not happy when the UT administrators decided to switch to Java under pressure from donors.
- random314 5y agoDonors? I did not know that donors forced the switch!
- pvarangot 5y agoI did my algo1 class with Haskell (Hugs 98) and honestly it was great. It also "evens the playing field" a lot among people with previous coding experience vs. people getting their toes wet for the first time. A lot of that was having a very powerful REPL. The problem is when you want to get into basic data structures. The learning curve for Haskell, if you want students to come up with their own implementations, steepens up a lot.
- janvdberg 5y agoKnuth also talks about Dijkstra here: https://www.cs.utexas.edu/users/EWD/commemoration/EWD-commemoration-2021.pdf https://www.cs.utexas.edu/users/EWD/commemoration/EWD-commem...
- jnwatson 5y agoKnuth: "When I got to step 4, I paused and pretended to be at a loss; I said, “Hmmm. Is it legal to use the words ‘go to’ in this place?” Edsger said, “I saw it coming.”" What an excellent troll! One of Dijkstra's more well-known papers is "Go To Statement Considered Harmful" [1]. 1. https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.p...
- the-smug-one 5y agoTony Hoare's section was very lovely.
- junon 5y agoWonderful quote. I have the mentioned book and definitely recommend it.
- random314 5y ago> someone having standing to call BS on Dijkstra This is a really off color remark for an author of "Coders at work". Dijkstra was probably amongst the first European coders and wrote the earliest operating systems. If you read knuths remarks, he just has a difference of opinion, but the final conclusion is the same. The theory of algorithms is more important particular language or implementation details. EDIT: Case in point, I learned my first language Pascal programming for 6 months without a computer.
- skulk 5y ago> The theory of algorithms is more important particular language or implementation details. They agree on the philosophy, but Knuth disagrees on the praxis.
- Jtsummers 5y agohttps://www.cs.utexas.edu/~EWD/ https://www.cs.utexas.edu/~EWD/ For those who haven't read them, I highly recommend taking some time to go through the EWD archive. No need to read them all at once, I made a point of trying to read one a week over a couple years, usually reading more, and got through most of the archive (not all though, I also caught up on a lot of the more well-known ones on top of my attempted in-order reading). Very informative and gives a lot more insight into Dijkstra's thoughts than the usual "he was an arrogant jerk" type comments that come up here. He may have been arrogant, and at times a jerk, but he was a very intelligent man with a lot of good-to-great ideas that still aren't well-disseminated through our discipline.
- thechao 5y agoLiberal arts students at UT Austin would, on occasion, have to talk to Alan Kline (undergrad ombudsman for natural sciences). In the late 90s Alan shared a ‘pod’ with Dijkstra; Dijkstra had moved his desk right into the ‘foyer’ of his office such that he could stare out his door at students “loitering” in the pod common space. As an English major all I knew him as was the evil old fuck who tried to kill us with looks. As a 20-year programmer, I wish I’d’ve at least introduced myself.
- hbogert 5y agoThere's something Knuth is not addressing. If I understand Dijkstra correctly he's seeing an enormous detour that we're taking with, for example, languages which evolved from a computer architecture. These are not formal, they're for the most part convenience layers and leaky abstractions atop a machine. Compare this to other disciplines. Imagine a modern bridge builder looking at the bridges of old, and come up with a model just large enough to communicate to other bridge builders how bridges should be made. If the bridge builders of old "just did something", what is our modern bridge builder modelling then? You could argue, "but those bridges are still around, so they probably did something well". Sure, but that's just settling for a local optimum. If I want a good modern bridge, I hope that engineer is taking physics into account -- and not spending their time on how the old bridge builders were throwing with mud and stones. We can't stand on shoulders if we keep on regurgitating spoiled food.
- dhosek 5y agoBut the leaky abstraction is useful in that it is a good thing to have some conception of how the machine works. There's a part of my brain that still thinks of every system as an overgrown Apple ][+. It's not the case, of course, but things like pointers, memory allocation and the like made perfect sense to me because I had a sense of what was happening at the hardware level. The last assembly language I used was IBM's 370 assembly and I have only the vaguest knowledge of the machine code on the systems that I use today, but that 35-year-old knowledge is still helpful
- goto11 5y agoDijkstras take-down of Margaret Hamilton's methodology is quite revealing of his attitude: https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD852.html https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E... After all, she did manage writing software which put a man on the moon and is generally recognized as some of the most solid and bug-free software ever. Nevertheless Dijkstra is completely dismissive (and downright condescending) because they don't use the theoretically correct approach.
- Jtsummers 5y agohttps://www.cs.utexas.edu/~EWD/ewd08xx/EWD852.PDF https://www.cs.utexas.edu/~EWD/ewd08xx/EWD852.PDF https://www.cs.utexas.edu/~EWD/ewd08xx/EWD852a.PDF https://www.cs.utexas.edu/~EWD/ewd08xx/EWD852a.PDF For anyone else who found the transcription to plaintext difficult to follow at times (some formatting losses). The second is a slightly edited version from 5 days after the first. Most of the "take-down of Margaret Hamilton's methodology" is directed at the writing in 3 texts, and a large chunk is just a brutal description of one James Martin and his book Program Design which Is Provably Correct. Quoting Dijkstra: > I have never had reasons to consider James Martin as a competent computing scientist, but that he is a competent salesman I don’t doubt: he must have seen a market for [2] at $200 apiece. The book is so terrible that that is a depressing thought.
- Zababa 5y ago> I think that’s a fundamental error made by scientists in every field. They don’t realize that when you’re learning something you’ve got to see something at all levels. You’ve got to see the floor before you build the ceiling. That all goes into the brain and gets shoved down to the point where the older people forget that they needed it. The biggest parallel I can draw here is people that went to college, and then in their 30s and 40s tell people to not go to college.
- starkd 5y agoBut that's more out of a genuine concern to avoid the unnecessary crud that's accumulated in the curriculum. Of course, college imputes useful things, but it also has a tendency to teach abstract concepts, when what you need in the beginning is the concrete steps to see things working.
- Zababa 5y agoThat's true, but as the article highlight, people can not perfectly know what experience was really important for them.
- Ar-Curunir 5y agoI doubt the people saying “Don’t go to college” have much knowledge of what goes in a college curriculum.
- Blikkentrekker 5y agoAnd they typically use their experience to make that point, and argue that they lost time. I'd say that having done something lends more authority to the opinion that one should not do so.
- Zababa 5y agoI disagree, it's easy to do something and then dismiss the importance it could have on you (which is also the point of the article). You have a bit more authority as you know what you went through, but on the other hand you're advocating for something that you didn't do.