[HN Gopher] How do we tell truths that might hurt? (1975)
       ___________________________________________________________________
        
       How do we tell truths that might hurt? (1975)
        
       Author : pcfwik
       Score  : 20 points
       Date   : 2025-03-11 18:40 UTC (4 hours ago)
        
 (HTM) web link (www.cs.virginia.edu)
 (TXT) w3m dump (www.cs.virginia.edu)
        
       | Jtsummers wrote:
       | 1975, also surprisingly few conversations on this one. Here are
       | the few with more than three comments:
       | 
       | https://news.ycombinator.com/item?id=24776336 - Oct 2020 (73
       | comments)
       | 
       | https://news.ycombinator.com/item?id=4926615 - Dec 2012 (67
       | comments)
       | 
       | https://news.ycombinator.com/item?id=2279260 - Mar 2011 (74
       | comments)
       | 
       | https://www.cs.utexas.edu/~EWD/ - for this and many more writings
       | by Dijkstra.
        
       | sdwr wrote:
       | I think the truth on display is that living inside an artificial
       | system that:
       | 
       | - is designed for you
       | 
       | - never talks back
       | 
       | - can be mastered
       | 
       | selects for (and breeds!) a deep sense of arrogance and
       | entitlement
        
         | waterhouse wrote:
         | > never talks back                 clang: error: linker command
         | failed with exit code 1 (use -v to see invocation)
        
       | djaouen wrote:
       | I think there is room for nuance. For example, it is true to say,
       | "Programming requires intelligence." It is also unnecessary to
       | say, "You can't program if you're dumb." One of these statements
       | is productive and not insulting, the other isn't.
       | 
       | Just my two cents.
        
         | robertlagrant wrote:
         | Is that nuance? Or just politeness analysis of two semantically
         | identical statements?
        
           | recursive wrote:
           | They don't seem exactly the same. I think there's a general
           | sense that most people are in the middle. Neither intelligent
           | nor dumb. Those are the outliers. It's not so bad to be in
           | the middle.
        
           | djaouen wrote:
           | Maybe "nuance" isn't the right word.
           | 
           | My point is, there are usually ways to phrase identical
           | truths with which the writer does not intend to insult.
        
         | JohnMakin wrote:
         | > For example, it is true to say, "Programming requires
         | intelligence." It is also unnecessary to say, "You can't
         | program if you're dumb."
         | 
         | I promise if you get far along enough in your career you will
         | realize this is very much not true, it's a thing people like to
         | believe, but there are plenty of deeply stupid programmers out
         | there with long, annoying careers.
        
           | smackeyacky wrote:
           | I feel like the definition of "stupid" here is important.
           | 
           | There are a lot of incredibly clever programmers out there
           | who will construct intricate webs of abstracted hell because
           | they are clever. These guys are mostly not "stupid". One of
           | my colleagues working on one of these code bases with me
           | described it as "very smart people doing very stupid things".
           | 
           | And yes, they all have long and annoying careers.
           | 
           | Contrast this with the swathes of what I would characterise
           | as "rat cunning" programmers who were everywhere during the
           | Y2K crisis. They knew just enough to be dangerous, did some
           | truly stupid things and disappeared from the programming
           | world afterwards. The unkind might say they all turned into
           | systems architects and project managers.
        
           | shadowgovt wrote:
           | My observation is that there's likely a sweet spot. Though
           | this is a multidimensional vector so it's not one sweet spot.
           | 
           | A programmer can find a niche where their skill has value for
           | a long period of time, even if their situation (mental
           | flexibility, willingness to learn, etc.) precludes exiting
           | the niche. It can be a challenge to work with someone like
           | that if you have to interface to them and their approach is
           | to pull you all the way over to where they are.
           | 
           | ... but sometimes that's how it is. And I've seen plenty of
           | smart programmers smother their ability to provide value for
           | real people under analysis paralysis while the "stupid"
           | programmers bull-charge in with the first approach they can
           | think of and write some ugly, stupid, spaghetti, _working_
           | tools.
        
       | Jimmc414 wrote:
       | "For instance: with respect to COBOL you can really do only one
       | of two things: fight the disease or pretend that it does not
       | exist"
       | 
       | A better question might be, how should you proceed when your
       | truth does not want to be heard?
        
         | immibis wrote:
         | Flee the country before it's too late.
        
       | magicalhippo wrote:
       | As a self-taught programmer, I have just "experienced" Dijkstra
       | through various tidbits like this[1], and from the bits I've read
       | he comes across as a bit of an pompous asshat. However strong
       | opinions are a fertile ground for discussion, so I assume it's a
       | deliberate strategy and can see why he keeps getting mentioned.
       | 
       | That said, I found this one particularly interesting given the
       | recent rise of LLMs:
       | 
       |  _Projects promoting programming in "natural language" are
       | intrinsically doomed to fail._
       | 
       | I assume he's referring to languages like COBOL and SQL, the
       | latter still going strong, but I can't help but think that this
       | part will change a lot in the coming decades.
       | 
       | Sure we'll likely still have some intermediary language with
       | strong syntax and similar, just like how LLVM, C# and similar
       | have their IL, but it's hard to think the majority of the
       | programming is done typing in regular programming languages like
       | JavaScript, C++ or similar in 2050.
       | 
       | [1]: I have of course learned about his algorithm
        
         | shadowgovt wrote:
         | The former is also still going strong; the US Social Security
         | Administration has sixty million lines of the stuff (as well as
         | half of banks and approximately 80% of card transactions).
         | 
         | COBOL, at this point, has outlived Dijkstra and is poised to be
         | a language-in-use for longer than he was a human-in-breathing.
         | So I suspect he missed the mark on that one.
         | 
         | (I think, personally, we hackers have a bad habit of deciding a
         | language that doesn't fit our favorite problem domains is a bad
         | language. There are reasons, other than simple inertia, that
         | COBOL sticks around in places where the main task is turning
         | written laws into computer code...).
        
       | ambicapter wrote:
       | > In the good old days physicists repeated each other's
       | experiments, just to be sure. Today they stick to FORTRAN, so
       | that they can share each other's programs, bugs included.
       | 
       | This is pretty wild when you think about it. I wouldn't expect a
       | lab to check another lab's work by re-writing their code
       | (although, I'd love to hear some examples!), but if you don't,
       | you're really powerless against whatever bugs they wrote into
       | their scientific code.
        
         | watwut wrote:
         | You do not need to reimplement software to test it.
        
       | ThrowawayR2 wrote:
       | The submitter really should have waited on this a bit longer. The
       | 50th anniversary of this essay is June 18 but submitting it again
       | then would be considered a [dupe].
        
       | jasonthorsness wrote:
       | How did Dijkstra intend this to be received? I started reading
       | this at face value and was nodding along until the comments on
       | BASIC programmers being "mentally mutilated and "use of COBOL
       | cripples the mind" which seem more like he was trolling?
       | 
       | That said, this one really is a truth: "Simplicity is
       | prerequisite for reliability."
       | 
       | And this one is no longer true since LLMs: "Projects promoting
       | programming in "natural language" are intrinsically doomed to
       | fail."
        
         | shadowgovt wrote:
         | There are other ways to attain reliability. Redundancy is one.
         | 
         | There is nothing simple about the way the Internet works but it
         | continues to be proven robust against everything from temporary
         | outage to nation-state revolution.
        
         | loco5niner wrote:
         | > And this one is no longer true since LLMs: "Projects
         | promoting programming in "natural language" are intrinsically
         | doomed to fail."
         | 
         | Not convinced that this is no longer true... yet
        
           | margalabargala wrote:
           | Doesn't your addition of a "yet" imply the parent is correct?
           | We don't need to have a working counterexample in existence
           | for that "truth" to be wrong, we just need to see that such a
           | project is not "intrinsically doomed to fail".
           | 
           | Twenty years ago such projects were intrinsically doomed to
           | fail. Today, they are on the cusp of not failing.
        
       | moffkalast wrote:
       | > FORTRAN --"the infantile disorder"--, by now nearly 20 years
       | old, is hopelessly inadequate for whatever computer application
       | you have in mind today: it is now too clumsy, too risky, and too
       | expensive to use.
       | 
       | We're gonna be stuck with cpp for at least a thousand years
       | aren't we.
        
         | Jtsummers wrote:
         | I'm doing my part, still keeping C++ systems alive so the next
         | generation can see the horrors created by our predecessors. At
         | least this particular program doesn't have the same problems as
         | the last one I worked on, where some genius decided to make
         | their own shared_ptr and did it wrong among many other bizarre
         | choices.
        
         | snovymgodym wrote:
         | C++ will outlive all of us.
         | 
         | In general, you can assume that any technology or standard
         | which had significant market share during a growth period will
         | have, at the very least, a long tail of continued use for the
         | foreseeable future. Stuff that's in use and works doesn't get
         | replaced unless the alternatives beat out the switching cost.
         | 
         | For another example, I typed this comment on a QWERTY keyboard.
        
       ___________________________________________________________________
       (page generated 2025-03-11 23:00 UTC)