Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> It had such a narcissistic writing, looking down on every other language that I didn’t see in any other community. Maybe it is a lisp thing?

Yes, it's a Lisp thing, but not without a reason.

Paul Graham explained this in "Beating the Averages"[1] more than two decades ago:

> Programmers get very attached to their favorite languages, and I don't want to hurt anyone's feelings, so to explain this point I'm going to use a hypothetical language called Blub. Blub falls right in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.

> And in fact, our hypothetical Blub programmer wouldn't use either of them. Of course he wouldn't program in machine language. That's what compilers are for. And as for Cobol, he doesn't know how anyone can get anything done with it. It doesn't even have x (Blub feature of your choice).

> As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.

> When we switch to the point of view of a programmer using any of the languages higher up the power continuum, however, we find that he in turn looks down upon Blub. How can you get anything done in Blub? It doesn't even have y.

> By induction, the only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one. (This is probably what Eric Raymond meant about Lisp making you a better programmer.) You can't trust the opinions of the others, because of the Blub paradox: they're satisfied with whatever language they happen to use, because it dictates the way they think about programs.

> I know this from my own experience, as a high school kid writing programs in Basic. That language didn't even support recursion. It's hard to imagine writing programs without using recursion, but I didn't miss it at the time. I thought in Basic. And I was a whiz at it. Master of all I surveyed.

[1] https://www.paulgraham.com/avg.html



Yeah I’m familiar with this blog post, but other than it being a huge fuel to this narcissistic tendency, it fails to explain to me any reason lisps would be that much above everything else.

Homoiconicity is a cool and elegant thing, but I think it has way too many things attributed to it. Plenty of languages have very strong macro capabilities, and while they may need a separate API for using it, this is hardly that big of a problem and in effect at that point they are just as good at everything as lisps are.

And we should not forget about the author’s (and apparently several other lisp-cultist’s) very own Blub paradox — they are often not familiar with strong type systems being able to prove the lack of several kinds of bugs, and I’m not just talking about the typical types, but about more advanced things like higher kinded types, effects, etc.

There is an entirely different aspect of languages dealing with new approaches to memory management like Rust, and newer ones having native support for arenas.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: