[HN Gopher] Knuth on Dijkstra (2014)
       ___________________________________________________________________
        
       Knuth on Dijkstra (2014)
        
       Author : wglb
       Score  : 84 points
       Date   : 2021-08-03 21:05 UTC (2 days ago)
        
 (HTM) web link (gigamonkeys.com)
 (TXT) w3m dump (gigamonkeys.com)
        
       | Jtsummers wrote:
       | 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 wrote:
         | Liberal 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.
        
       | Tomte wrote:
       | > someone having standing to call BS on Dijkstra
       | 
       | Yes, but he does so _respectfully_. A lost art...
        
         | coldtea wrote:
         | Well, Dijkstra, on the other hand, was known to disrespect
         | people...
        
           | the-dude wrote:
           | To 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?
        
             | goto11 wrote:
             | A 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 wrote:
               | Dijkstra'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
        
               | the-dude wrote:
               | From your username I take : you're biased. No hope.
        
             | wil421 wrote:
             | Dutch always tell the truth or an opinion? There's a
             | difference between being blunt and arrogant or a just plain
             | asshole.
        
               | teekert wrote:
               | We always tell the truth and we also never generalize!
        
               | mro_name wrote:
               | and best regards to Crete!
        
               | mettamage wrote:
               | Let'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 wrote:
               | I 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 wrote:
               | > _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.
        
               | wil421 wrote:
               | "Your idea is pure garbage" is very unprofessional. "I
               | don't think your idea is well thought out and lacks a
               | clear plan" or "your idea is a terrible idea because of
               | x, y, z" is much better.
               | 
               | "We'll consider your idea" to avoid confrontation because
               | of a bad idea is sugarcoating.
        
               | fleddr wrote:
               | The 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 wrote:
               | If this is really so valuable, why aren't the largest,
               | most successful corporations in the world Dutch?
               | 
               | Interesting organization theory question here.
        
               | fleddr wrote:
               | Well, they are?
               | 
               | Ever heard of Shell? Unilever? Heineken? Philips? Tons of
               | lesser known names dominating water management, heavy
               | transport, mega scale infrastructure?
               | 
               | ASML, as the basis of almost any device with a chip in
               | it?
               | 
               | Ever heard of farm valley? The ridiculously tiny country
               | being the #2 food exporter:
               | 
               | https://www.nationalgeographic.com/magazine/article/holla
               | nd-...
               | 
               | Is this all a result of directness? No, it's a
               | combination of the total dutch business culture:
               | 
               | Directness. Brutal efficiency. Brutal effectiveness (work
               | smart, not hard). Next-level automation. Rationality.
               | Fast error-correcting. Reliability, do what you promise.
               | 
               | Combined with world class infrastructure in roads, the
               | largest rail network in the world, the busiest harbor of
               | Rotterdam, and Schiphol airport.
               | 
               | Combined with an extremely international outlook,
               | consisting of a trade history spanning centuries.
               | 
               | When you want to get shit done, and get it done properly,
               | you call the Dutch.
               | 
               | With this, I end my patriotism.
               | 
               | Should this be a little too biased, note that it's Steve
               | Jobs producing the quote "the best idea has to win", in
               | reference to how one's position in a hierarchy should
               | carry no weight to the value of an idea.
               | 
               | And finally, I've once read a philosopher claiming that
               | the reason capitalism has won over communism, is the lack
               | of a feedback loop in communism.
               | 
               | Well intended directness combined with anti-fragility is
               | a super power.
        
               | coldtea wrote:
               | > _If this is really so valuable, why aren 't the
               | largest, most successful corporations in the world
               | Dutch?_
               | 
               | Well, first the Netherlands do have some of the most
               | succesful corportations in the world, given their size.
               | 
               | Second, because while being valuable inside a business,
               | honesty is not necessarily the be all end all criterium
               | for success.
               | 
               | You can be honest and more efficient for it, but lack
               | other factors, like a large internal market, a huge
               | military and diplomatic machine securing cheap resources,
               | controlling trade routes, supporting your national
               | currency and brokering deals for your companies, a good
               | headstart when Europe was broken down and shattered from
               | WWI and WWII which barely affected your country, and so
               | on.
               | 
               | And, of course, honesty in society in general might be
               | very good without translating in any way to more
               | succesful businesses. Kindness, honesty, and treating
               | people well are good and valuable things, but they don't
               | make you money, nor help you build a billion dollar
               | corporation.
               | 
               | A honest ad, for example, for most products would be "you
               | don't really need it", not "this will change your life".
               | A conscious corporation would make products long lasting,
               | which loses money compared to planned obsolesence.
               | 
               | A kind employer would compensate employees well, sharing
               | its mega-profits, not squeeze blood out of them - but
               | having your employees wear diapers at the warehouse or
               | risk getting fired for bathroom breaks makes you more
               | money.
               | 
               | Similarly pressuring employees that need the job into
               | working 14+ hour shifts to get more units ready for Xmas
               | is more profitable that giving them work/life balance and
               | understanding that holidays are for family and friends,
               | not for pushing people into more consumption.
        
               | Jtsummers wrote:
               | Because "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.
        
               | [deleted]
        
               | wil421 wrote:
               | I hate the nonsense and wish more people were direct like
               | the Dutch.
               | 
               | In my experience pure academics and scientists are more
               | arrogant and lack empathy rather than being Dutch and
               | direct.
        
               | fleddr wrote:
               | Biased as I am, I'd agree. It's unlikely for a dutch
               | person to mislead you or be dishonest. There's no agenda.
               | It's safe, reliable and comforting.
               | 
               | And should such a direct remark upset you, the other
               | party expects directness in return, and can handle it.
               | 
               | As for academics and such, we reject elitism. Sure enough
               | we accept differences in success and wealth, but we won't
               | let it get to your head:
               | 
               | https://images0.persgroep.net/rcs/rl7MK73sKTwSudzEJaBS-
               | jjwW7...
               | 
               | That's our PM cycling to work. You can talk to him should
               | you come across him. There's no secret service, as in our
               | society, he's "just another guy".
               | 
               | This is expressed in another local slogan: "stick your
               | head above the corn field and we chop it off".
               | 
               | It's not a reference to communism, it means don't get
               | cocky when successful, don't believe you're better than
               | anybody else at a human level, and don't take yourself so
               | serious.
               | 
               | Admittedly, times are changing and inequality is on the
               | rise.
               | 
               | I'll end with saying that the "bluntness" some complain
               | about is still a suppressed version of our actual
               | directness. I'll illustrate by means of a recent
               | conversation with a friend:
               | 
               | Me: what do you think of my new clothes? Friend: Did you
               | dig this up from the graveyard?
               | 
               | I love my country :)
        
               | the-dude wrote:
               | There are many truths.
        
               | Koshkin wrote:
               | "A good thing about truths is that there are so many to
               | choose from!"
        
               | majkinetor wrote:
               | There is only one truth about what YOU think.
        
               | coldtea wrote:
               | Yes, 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 :-)
        
             | tejtm wrote:
             | Plus 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.
        
             | brnt wrote:
             | Always 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 ;))
        
             | zerr wrote:
             | I believe it is not about what but how.
        
       | Zababa wrote:
       | > 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.
        
         | Blikkentrekker wrote:
         | And 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 wrote:
           | I 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.
        
             | Blikkentrekker wrote:
             | So yours is the position that one never has standing to
             | argue that one should not do something, whether one did it,
             | or one did not?
        
         | starkd wrote:
         | But 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 wrote:
           | That's true, but as the article highlight, people can not
           | perfectly know what experience was really important for them.
        
       | choeger wrote:
       | IIRC 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 wrote:
         | Dijkstra actually recommended Haskell as a teaching language.
        
           | wyager wrote:
           | He was not happy when the UT administrators decided to switch
           | to Java under pressure from donors.
        
           | pvarangot wrote:
           | I 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.
        
       | planet-and-halo wrote:
       | Definitely 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.
        
       | goto11 wrote:
       | Dijkstras take-down of Margaret Hamilton's methodology is quite
       | revealing of his attitude:
       | 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 wrote:
         | https://www.cs.utexas.edu/~EWD/ewd08xx/EWD852.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.
        
       | janvdberg wrote:
       | Knuth also talks about Dijkstra here:
       | https://www.cs.utexas.edu/users/EWD/commemoration/EWD-commem...
        
         | the-smug-one wrote:
         | Tony Hoare's section was very lovely.
        
         | jnwatson wrote:
         | Knuth: "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.p...
        
       | junon wrote:
       | Wonderful quote. I have the mentioned book and _definitely_
       | recommend it.
        
       | random314 wrote:
       | > 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 wrote:
         | > The theory of algorithms is more important particular
         | language or implementation details.
         | 
         | They agree on the philosophy, but Knuth disagrees on the
         | praxis.
        
       | hbogert wrote:
       | There'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 wrote:
         | But 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
        
       ___________________________________________________________________
       (page generated 2021-08-05 23:02 UTC)