Are there any programming/computer science greats that self aggrandize like this? Is it a cultural thing somewhere that I’m not aware of?
Are there any programming/computer science greats that self aggrandize like this? Is it a cultural thing somewhere that I’m not aware of?
Let’s be honest: Lisp is a language designed by and for elite hackers, not for the masses.
What do other people say about other languages? Python is best for novice coders, machine learning, and versatility. [https://www.boot.dev/blog/python/c-sharp-vs-python]
Golang: Simpler and minimalistic language with fewer features, making it easier for beginners and experienced developers to learn and use effectively. [https://charleswan111.medium.com/java-vs-golang-a-comparative-insight-into-usage-performance-and-industry-preferences-533a24013230]
JavaScript is also considered to be more user-friendly and easier to learn than C++. [https://www.c-sharpcorner.com/blogs/cpp-vs-javascript-programming]
If one is allowed to compare apples and oranges, then surely one is allowed to compare oranges and apples.Further this 'Democritisation' can be seen as trying to deskill something that taking away many positives and having contempt for skill. I believe This is often simply to devalue software developers and I assume you are one so I believe we should both be cautious of this devaluation.
I think a more interesting question would be why should we not have elite's and I don't know if I am unusual but false humility always rubs me the wrong way?
1. FWIW, the older I get the larger a fraction of EWDs I disagree with.
2. If you take something wrong and reverse it you are usually left with something wrong.
3. Many of the language features that were cited as making lisp "elite" when I was a kid exist in Javascript. Lexical closures were treated like some mysterious thing that you need to study on a mountaintop and become enlightened to get are now used daily by workady front-end programmers.
4. Democratization isn't necessarily about deskilling, it's about making skills accessible to more people.
5. Having and celebrating those who are elite is good. "X is only for elites" is bad.
6. Literally nobody in my 3rd grade class had any issue programming in a dialect of lisp in the computer lab. Certainly some were better than others, but I wouldn't call something that even half the population can do as "for elites only"
Your first point I agree with I think Dijkstra was wrong about a lot of things, but I think that the idea of elegance and looking to mathematics and privileging a mathematical way of thinking in programming language design and perhaps by extension operating system design is something I thinks is valuable and it could simply be said that are disagreement with Dijkstra that we both have are simply born of the corruption of computing that has occurred through unrigorous thinking. It's hard to apply many of Dijkstra's ideas to a program written for a unix or unix like system because these systems from the get go privileged a sort of hacky and pragmatic way of solving computing issues (unix cultures of course having their own elitist culture).
On your second point I would concede that Democratization can simply mean opening up the possibility of people gaining skills without gate keeping institutions, My first point is that particularly recently (past 8 years or so) deskilling seems to be meant by it at least partially and as of very recently much more explicitly and maybe even deskill at the expense of giving opportunities to poorer people (think about the ways that AI make it easier for a wealthy person to get their computing done but might do nothing for poorer people how could not afford LLM tokens or local hardware. Finally it's also the case that gatekeeping it's self is a power that most professions have and it's part of their power (think about lawyers or doctors) I don't think this is strictly negative and can also help foster rules of the craft and dedication to the craft and improving it.
On the third point, I agree and I think JavaScript is quite explicitly inspired by lisp's and the notion that Lexical closures are some sort of mystical concept that requires deep meditation is silly on the other hand front-end programmers have earned intuition on these concepts and something like a deep meditation on working with react or what ever framework does require constant learning and might be in some way enlightened on how to write good components (as someone who is not a front end developer who has written some front-end javascript for various projects my code can be quite poor and no doubt much poorer then what a professional front end developer would right.
On point 5 I largely agree but I think that sometimes something like the kind of elite culture of haskell did produce some good in that it let people work on new ideas and build things that would not otherwise be built starting from pure functional programming would be a hard sell for a mainstream language and using haskell effectively probably does require some ability to grok some bits of theory that many would not (Basic Catagory theory, Abstract Algebra, Thinking more deeply about lambda calculus and purely functional algorithms and the data structures for functional programming). I think this is a good and produces useful things that peculate into other programming languages.
The other points I feel are answered with in the points I answered and so will not answer, but reiterate I am not defending the elite status of lisp or lisp dialects I think the article was some what juvenile.
When it comes to writing software, I don't consider myself elite, but neither do I want to use a language designed by some mid-level engineer. Do you?
What Lisp enthusiasts lost in terms of actual status in the programming world they make up for themselves in their niche corners and everyone is happy at the end.
Imagine for example Fabrice Bellard (too many amazing accomplishments to list here) posting that he’s an elite developer. That’s right, he doesn’t need to, everyone knows it already.
Small children should learn some kind of Lisp, and easily can.
Richard Stallman famously shared an anecdote in the article "My Lisp Experiences and the Development of GNU Emacs" (https://www.gnu.org/gnu/rms-lisp.en.html) about the secretaries:
> The editor itself was written entirely in Lisp. Multics Emacs proved to be a great success—programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program.
People, whether inside or outside of Lisp, who spread myths that that it is some scary, esoteric elite family of languages, have been pretty harmful.
Also, I taught myself machine code programming when I was 11. Just using a book (no help, no internet). So don't underestimate what kids can learn.
Yep, and I didn't know assembly/assemblers were a thing (as they were not in magazines), so I typed and still type (for fun) everything in HEX. data 3E,0A,etc.
Still, I don't think it's wrong to say LISP is for the elite. It is harmful when it's implied it's only for the elite, but being for the elite is not exclusive with being easy to learn, or being good for newcommers.
Heck, lisp minimal syntax is probably what bridges the two, and it (s expression, and lack of m expressions) was explicitly petitioned for by early lispers, for reasons which likely make them a similar elite than present day lisp enjoyers.
Likewise, appeal to the masses does not equate ease of learning, or even anti-elitism. It certainly is a common marketing point, but familiarity is what really matters. Emacs has never been so good, Microsoft Office is a good decade or two deep in enshittification, and guess what modern day secretaries use?
Once you've toiled on the learning curve of Lisp long enough to really grok it you might begin to think you've discovered the foundational bedrock of the universe. From that perspective it's kind of hard not to be a little condescending toward fans of other languages.
It doesn't help that younger programmers today who complain about "too many parentheses" are largely unaware that Lisp was the original language of AI because the guy who invented AI also invented Lisp to help him do AI. I for one am just a tiny bit chuffed about that because I'm certain that more and better progress on LLMs (and beyond) would have happened had Lisp been used instead of Python as the primary vehicle for AI exploration.
So yeah, I damn well consider myself elite and I won't apologize for it.
(and all self-aware)
Could it be a form of self-selection bias? That the kind of person that is likely to have such thoughts about a (family of) programming language is also more likely to start and preservere with Lisp?
Yeah… clearly “not using lisp enough” was the major bottleneck in AI development over the last 40 years. /s
(While we’re patting ourselves on the backs for no reason, I’m certain that modern AI is as big of an argument for worse is better as C and Unix ever were.)
Ahhh so that's why the AI winter happened? Wrong programming language? /s
Just like with the previous AI Winter.
Unless you think that the inventors of C, C++, Unix, Linux etc. were not amazing hackers?
It always makes me laugh because the real world runs on C/C++, not Lisp. So perhaps by “elite” they mean something other than being successful in the real world? Maybe they think they “get it” while everyone else doesn’t, which somehow makes them “elite”? A bit like conspiracy theorists who think they’re among the few smart enough to know the “truth.” Not sure.