3 ms·
And here you are making a classic mistake: you're confusing Lisp for a programming language - nonabstract tool, a means to an end. Which Lisp is not. Lisp is an
by iLemming 7y ago
And here you are making a classic mistake: you're confusing Lisp for a programming language - nonabstract tool, a means to an end. Which Lisp is not. Lisp is an idea, or rather a set of ideas, one of the greatest ideas in computer science, just like Curry-Howard isomorphism or Naus Backus Form. Based on the idea of Lisp, you can build programming languages. And the majority of the programming languages that in use today were influenced by Lisp. Once you comprehend that remarkable idea to the sufficient level, you do become enlightened. That is not a myth or a fairy-tale; it's not something that Lispers spread around for the sake of achieving elitist status. That has been repeated over and over again by many brilliant computer scientists and programmers (which I am not, I'm not trying to associate myself with them).
And there are no "hype cycles" or "peaks of inflated expectations" as you put it. I believe many Lispers do not have any illusions about the real world; we do understand that for the majority of software developers today, Lisp has become a "hard sell," it almost vanished from the curricula of many universities. Now the industry is paying a hefty price for the decisions made a few generations of college students ago.
Lisp is so universal you can find a Lisp dialect for almost any platform today. Knowing Lisp makes it easier to work with any language. For example: whenever I need to solve a problem and for whatever reason, I am not allowed to use a Lisp-dialect; I would prototype in a Lisp and then adapt that to the language that it needs to be. Although it seems to be double the work, I am still faster doing it that way.
> And honestly, JavaScript with Babel gets you 80% of the dynamism and metaprogramming capability Lisp has
Well, I've seen both sides. I've written quite a bit of Javascript. I have used not all; still, many popular kinds of the *script languages that transpile/compile into Javascript - I have used Coffeescript, LiveScript, Typescript, Gorillascript, IcedCoffeescript, Fay, Haste, GHJS, Babel, Traceur, Google Closure compiler, I've looked into Elm, Purescript, and Reason. And without a doubt, I can tell you: Clojurescript today is an excellent option among all these (but that's my subjective opinion based on my empirical observations, YMMV) And your notion about "better integration, tools, and libraries" is a very subjective statement, given that Cljs has a very solid FFI to JS.
I can get into a rant (but I rather choose not to) of how Lisp influenced other languages (including Javascript). How destructuring, transducers, immutable data-structures, etc. first popularized in Lisp dialects and then later sought adoption in other languages.
One of the recent examples: React hooks feature, which gets so much praise by JS developers. Most of them don't even know that Clojurescript devs been similarly writing code for many years already, and it is still a better way to handle state within a component.
Anyway, I don't want to sound like I disagree with you completely, we seem to agree on one thing: first two sentences with which I started my previous comment.