Hacker News new | ask | show | jobs
by _bxg1 2261 days ago
The dig at JS developers is completely uncalled-for.

I'm a JS developer and I admire the way Clojure has seemed to skip both the hype and disillusionment phases and jump straight to the productivity plateau.

3 comments

I'm also a JS developer myself, so I guess the dig includes myself too (99% of my time is spent with ClojureScript). JavaScript was just a example out of many. Same with Java or basically most languages, where you can't change the core language from the outside without forking it. I don't think anyone will deny that some languages add features just to satisfy a smaller part of it's users, because there is no other way for those people to get their features.

Because of it's dynamic nature, there is no plateau in Clojure (lisps in general), the responsibility just shifted to outside the core language that Rich Hickey et al maintains.

> The dig at JS developers is completely uncalled-for.

Oh, no, as a developer who dealt with web front-ends for a long time, I can attest - it is totally justified.

Modern Javascript, in just a matter of a few years from being a small, simple language with a few quirks has blown into this colossal monstrosity. ECMAScript specification today is almost as big as Java's. There are tons of things that were added ( and still being added ) without careful thinking and upfront design. And that not to mention things that break all the time in the ecosystem of any JS framework. Have you ever tried updating dependencies in a nodejs project that is just a few months old? It rarely is simple and straightforward. Things break left and right. It feels there's no stability at all, compared to Clojure(script) projects. You can pretty much pick any Clojure project (that is a few years old) and update its dependencies, and most of the time, you can expect things not to break.

People got excited about React hooks, and Clojurescript people were like: "folks, we've had a better way of dealing with stateful components for a few years now."

JS devs got excited about destructuring (which looks like a weak attempt to borrow it from Clojure), without even slightest hint of how much more straightforward and cooler destructuring actually looks and works in Clojure.

They say they love JSX, which, compared to Clojure's Hiccup, is just a total and absolute crap.

JS devs are eager to use nulish coalescing and optional chaining and write unreadable crap like: `input ?? obj?.key ? 'yes' : 'no'``. And they dare to say that Lisps are not readable? ¯\_(ツ)_/¯

Honestly, after years of dealing with it, my take on it is this: Javascript is a morally outdated programming language. And Typescript is somewhat not the best attempt to fix its issues.

TypeScript adds that extra Java smell back into the mix ;)
Clojure did have quite a bit of hype 5-10 years ago and a bit of slowdown in 2017-2018 where this meme of "Clojure is dead" probably started.
Agree. But slowdown in internet hype doesn’t mean slowdown in industry adoption though.
Indeed and probably there is no perfect measure for this. One way to look at it is Maven download data (https://i.imgur.com/66yEO9C.png) where it continues to increase. Another is to look at Google Trends data (https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0...) where it seems like it's decreasing in searches.
It's currently used by 2.9% of devs, vs. 2.5% for scala. (Search for JVM language report)
Yet another way of measuring (also without providing any type of source, searching "JVM Language Report" brings up a dozen of different results, whereas the first one lists Clojure as being 3% and Scala as 2.36%, can you just link the source instead of asking people to do your sourcing for you?) that is also not perfect.

In the end, we will never know the "real" numbers, and developers like me who use Clojure and find themselves most productive in it, could not care less either.