4 ms·
Some of these have aged so perfectly that I only need substitute a few letters: > Python —"the infantile disorder"—, by now nearly 30 years old, is hopelessly
by Kednicma 6y ago
Some of these have aged so perfectly that I only need substitute a few letters:
> Python —"the infantile disorder"—, by now nearly 30 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.
> It is practically impossible to teach good programming to students that have had a prior exposure to JS: as potential programmers they are mentally mutilated beyond hope of regeneration.
> The use of Java cripples the mind; its teaching should, therefore, be regarded as a criminal offence.
The quotes about languages were always controversial, weren't they? But it's clear now in retrospect what Dijkstra was complaining about. He found FORTRAN to trick people into thinking that programming was merely about specifying arithmetic operations in a certain order, considered BASIC to require mental models which rendered folks memetically blind to actual machine behaviors, and thought COBOL tried to be legible to management but ended up being confusing to everybody.
> Many companies that have made themselves dependent on AWS-equipment (and in doing so have sold their soul to the devil) will collapse under the sheer weight of the unmastered complexity of their data processing systems.
Yep.
> In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to Python, so that they can share each other's programs, bugs included.
Reproducibility is a real problem, and sharing code is just the first step. It's an embarrassment to physics and mathematics that we don't have a single holistic repository of algorithms, but have to rebuild everything from scratch every time. (Perlis would tell Dijkstra that this is an inevitable facet of computing, and Dijkstra would reply that Perlis is too accepting of humanity's tendency to avoid effort.)
> You would rather that I had not disturbed you by sending you this.
Heh, yeah, let's see what the comment section is like.
- qntty 6y agoWhat modern language would Dijkstra approve of?
- User23 6y agoThere are so many languages available today that I'm sure there are plenty he would have approved of. For example, I think he might have appreciated Zig. If you read his work it's pretty easy to see his top priority is managing complexity and limiting surprise.
- junon 6y ago> his top priority is managing complexity and limiting surprise Zig doesn't do either of those things. There are a fair amount of criticisms of the mental model of the author that I've seen voiced - some including security. What's worse, the community surrounding Zig (in particular, the Discord community) operates more like a cult - any negative questioning gets you shunned. I was personally a huge fan of Zig until a number of questionable design decisions and dismissed bug reports lead me to believe it will forever remain a toy language. I can't imagine Dijkstra approving.
- User23 6y agoThat’s too bad. I was judging based on the overview of Zig that was recently posted here. I gladly defer to your more informed opinion on the subject, but I’ll maintain Dijkstra would have liked the design goal of executing the procedure as written absent fancy obfuscated control structures. The cult-like attitude that many programmers have about languages certainly supports Dijkstra’s claims about the immaturity of the field.
- throwanem 6y agoWhichever one grandparent commenter likes best.
- AnimalMuppet 6y agoI suspect, none of them. If he did approve of one, it would probably be Haskell. And, for all his complaining, I don't know of any language that he authored. He's sure good at telling everyone that they're doing it wrong, though...
- User23 6y agoDijkstra co-created a rather influential language called Algol 60[1]. It and its immediate descendants are still used in scholarly CS work because it's so good for clearly describing algorithms. Past that, the influence of Algol 60 on virtually all modern programming languages is hard to overstate. [1] https://en.wikipedia.org/wiki/ALGOL_60 https://en.wikipedia.org/wiki/ALGOL_60
- AnimalMuppet 6y agoWell, he co-authored a compiler. From what your link says, he wasn't part of the committee that created the language.
- Jtsummers 6y agoHis rant-y EWDs seem to be the only ones people know. But his others go into much more detail about what he thinks and why. And while he didn't (to the best of my knowledge) directly create any language, he did implement an Algol 60 compiler and was involved in language design efforts throughout his life. He helped create the ideas of Structured Programming, which most of us now take for granted, since pretty much every language in popular use these days are based on these ideas.
- Kednicma 6y agoThis is a very difficult question. We know somewhat his preferences, because he worked on implementing ALGOL 60 [0][1], but unfortunately we are blocked by a bit of incommensurability; in that time, garbage collection was not something that could be taken for granted. As a result, what he might have built in our era is hard to imagine. That said, he did have relatively nice things to say about Haskell [2] and preferred Haskell to Java: > Finally, in the specific comparison of Haskell versus Java, Haskell, though not perfect, is of a quality that is several orders of magnitude higher than Java, which is a mess (and needed an extensive advertizing campaign and aggressive salesmanship for its commercial acceptance). I imagine that he would have liked something structured, equational, declarative, and modular; he would have wanted to treat programs as mathematical objects, as he says in [2]. Beyond that, though, we'll never know. He left some predictions like [3] but they are vague. [0] https://en.wikipedia.org/wiki/ALGOL_60 https://en.wikipedia.org/wiki/ALGOL_60 [1] https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF https://www.cs.utexas.edu/users/EWD/MCReps/MR35.PDF [2] https://www.cs.utexas.edu/users/EWD/transcriptions/OtherDocs/Haskell.html https://www.cs.utexas.edu/users/EWD/transcriptions/OtherDocs... [3] https://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/EWD1243a.html https://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/E...
- hajile 6y agoStandardML
- user5994461 6y agoHe would probably form a completely different opinion, the world is nothing like what could be anticipated 30 years go. The first languages and their compilers were strongly driven by hardware constraints, a kilobyte of memory costing an arm and a leg. Imagine storing function names in memory to compile the program, it doesn't fit in 1 kB. Imagine storing the whole source code in memory for processing, it doesn't work when there is less than a 1 MB of memory available. It's ridiculous today but it's real reasons why things were made global back then or why C/pascal split the code between a header and a source file.
- nendroid 6y agoWhat's with the hate for python. I've noticed some hate this irl and it's strange. Python is one of the best languages out there right now in terms of ease of use and future maintainability (with types).
- plafl 6y agoI love this quote: "There are only two kinds of languages: the ones people complain about and the ones nobody uses". Bjarne Stroustrup.
- nendroid 6y agoThere's a lot to complain about for python. But I see genuine hate. People, groups and companies who literally refuse to use it. I had an interviewer tell me that I couldn't code up the solution in python. I think it might be because python is so easy that people look down on it.
- acdha 6y agoThere's a certain cultural subset which tries to bolster their self-assessed superiority by rejecting things which are popular. This is especially common for people coming of a certain academic bent who are constantly playing one-upmanship games desperately trying to be the smartest person in the room. Python annoys those people because it's both relatively easy to get started with and far, far more successful than whatever their current favorite language is, and this is portrayed as people not getting it rather than having a more insightful discussion about whether other people might reasonably make decisions based on different needs, background, and resources rather than stupidity.
- Flex247A 6y agoYour comment rings true as I'm one of those people who reject things which are popular. Thanks for pointing it out!
- kls 6y ago
- brundolf 6y agoYour flame-bait revision is a perfect demonstration of what's wrong with the original post.
- junon 6y agoWhat a great comment. I'm sure it'll get flagged into oblivion, though - thus directly proving Dijkstra's point.