Hacker News new | ask | show | jobs
by iLemming 37 days ago
Look, it is very simple. Compare it to natural languages. Unfamiliarity with a language may evoke aversion and even hatred, yet anyone who reaches fluency in a foreign language just "magically" stops hating it. The language becomes a pragmatic tool to use, that's all. Some may argue, saying something like: "well, my friend who knows Russian says he hates it". You dig a little further and you discover that the friend hates Russian now because they were born in Ukraine, and before 2014 they had no issues with it. Turns out they don't really hate the language, do they? They don't hate phonology, morphology, syntax - they "hate" the culture, the idioms, the orthogonal stuff, right?

Save the time and resources spent on learning (let's for the sake of the argument imagine we get it for free), there are zero downsides to reaching fluency in a foreign language. Zero. Sure, one still may prefer reading Tolstoy, Bulgakov and Dostoevsky in English, even though they'd probably agree - to unveil the full gamut of emotions, it needs to be read in Russian, simply because there are tons of interesting twists of phrases that are just inconceivable to be translated precisely. Same can be said about English - James Joyce's puns and phonetic play just don't port well; Beckett's rhythmic English is delicate; Carroll's wordplay and Victorian logic-games in "Alice" are extremely English-specific.

Alas, learning a natural language to fluency may take a lifetime. That's why we don't go around screaming "Learn Spanish if you want to understand Borges, Márquez and Cortázar!". Yet at the same time, nobody in the right mind would ever join a discussion only to say "I hate Spanish, it's weird and hard to read".

And just like there are no downsides to acquiring a natural language (once again, let's say you get it free - ignore the time cost), there are really no big drawbacks to getting fluency in Lisp. It is universally better to know it (even if you don't use it every day) than not knowing it at all. Lisp teaches you that most syntax is noise. Once you internalize that, you write better code in any language because you're not cargo-culting idioms - you understand why they exist.

I'm not saying Lisp is universally better than the alternatives. I'm just saying that it has tremendous value, and the "haters" are just missing it out.

And just like I won't ever trust anyone claiming they dislike a language despite enormous fluency, I just can't see how anyone would know Lisp and yet just hate it. I stand by my words; the bias and hatred come from misunderstanding. I understand why programmers may dislike a specific PL - but Lisp is not a single programming language. It's an idea, the idea that influenced pretty much every single PL being used in the industry today. Like I dunno, how could anyone hate recursion, or closures, or pattern matching, or parametric polymorphism - these are just ideas, specific tools to use in specific context and situation. The only reason I see someone may hate them is because they have not gained sufficient understanding for how they work.

1 comments

> Compare it to natural languages.

Assuming any such comparison is valid is purely speculative. There are significant differences.

> anyone who reaches fluency in a foreign language just "magically" stops hating it.

Not true (plenty of people learn Mandarin and regret doing so), and even if it were true it could just be survivorship bias - of course people who hate a language are less likely to become fluent in it.

> Turns out they don't really hate the language, do they? They don't hate phonology, morphology, syntax - they "hate" the culture, the idioms, the orthogonal stuff, right?

No, sometimes people really do hate the language.

> nobody in the right mind would ever join a discussion only to say "I hate Spanish, it's weird and hard to read".

That might not be a productive thing to say in a discussion, but that doesn't mean it can't be true.

> Like I dunno, how could anyone hate recursion, or closures, or pattern matching, or parametric polymorphism - these are just ideas, specific tools to use in specific context and situation.

Plenty of people hate any or all of those things. I'd say it's reasonable to hate a tool that tends to have bad consequences - e.g. a language feature that makes code superficially easier to write but hard to refactor or debug.

> Plenty of people hate any or all of those things.

Oh come on. You're flummoxed about things that are not controversial. You don't have to listen to some rando HN commenter like me - there isn't a line-up of renowned CS figures or prominent programmers who ever harshly criticized Lisp to absolute rejection, even Dijkstra. People expect him to have bashed Lisp, but he actually praised it (and not once): "Lisp has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts." And there's a long line of well-known names from Alan Kay to Steele, Matz and Goetz, etc. who publicly said great things about the grand idea of Lisp. That is all well-documented and known. This isn't some "recorded history of the past", it's still going on - Clojure-like languages for different runtimes popping up every few months. Lisp isn't BASIC, Fortran or COBOL, yet some people waste so much energy to prove to themselves that it's somehow "wrong" or has "bad consequences", while Apple, Cisco, Netflix, Walmart, CircleCI, Nubank and many others have successfully built and maintained large projects. All the while so many "opposing" ideas quietly died over the years - Ada's intended universal dominance; anti-GC dogma; Algol 68 complexity-heavy direction (though Algol's good ideas lived on); rigid, ceremony-heavy, anti-interactive approaches consistently faded, while the dynamic/interactive/symbolic cluster that Lisp has pioneered keeps getting re-adopted.

What serious programmer ever ignores Lisp influence or importance? I suppose an ignorant one. I get it, plenty of serious programmers acknowledge the influence and still rationally choose not to use it, but outright rejecting the idea because it doesn't "visually appeal to them" - that is some naivete.

Whatever. You free to hold any beliefs - my actual, pragmatic, lived experience says otherwise.

> there's a long line of well-known names from Alan Kay to Steele, Matz and Goetz, etc. who publicly said great things about the grand idea of Lisp.

About the ideas, yes, helped by being such an early language that it can lay claim to being the originator of a great many things. About the syntax, rather fewer.

> Apple, Cisco, Netflix, Walmart, CircleCI, Nubank and many others have successfully built and maintained large projects

There are a great many success stories and just as many failure stories. 60+ years on, Lisp continues to exist but remains niche.

> rigid, ceremony-heavy, anti-interactive approaches consistently faded, while the dynamic/interactive/symbolic cluster that Lisp has pioneered keeps getting re-adopted.

Yes and no; the pendulum swings but the oscillations get smaller. At this point the programming world has pretty much converged on present-but-lightweight typing with inference and optional annotations, for example; there are no new serious pure dynamic languages being made, and all major dynamic languages are putting huge effort into retrofitting typing. Long edit-deploy-test cycles aren't coming back but nor is live-editing your production system.

> What serious programmer ever ignores Lisp influence or importance?

That's quite a different thing from saying that it's pleasant or even good. Every serious critic acknowledges that e.g. David Foster Wallace was influential and important, but many openly hate actually reading his work.

> actual, pragmatic, lived experience

Hardly. You've built this a whole edifice of beliefs that wouldn't withstand 5 minutes outside the Lisp bubble.