Earlier quoted context omitted.
Is it growing? It is a difficult metric to quantify, but looking at thing like Github, or Reddit, it seems flat or declining. Clojure initially benefited as the preferred Java escape path, but it seems like that has been supplanted by Kotlin. https://github.com/oprogramador/github-languages#most-failin... https://www.benfrederickson.com/ranking-programming-language...
I've noticed the reddit is less active, but I think that's just because everything needing saying was said already. At least it is for me, just busy coding. The Clojure annual survey gets more and more participants every year, so from that angle it seems to be growing.
Elements of Clojure
41–50 of 71 posts
Re: Elements of Clojure
#42Earlier quoted context omitted.
It hasn't fallen. The Clojure community has been growing steadily and continues to grow (it's a great community, I'll add). Things have just settled down since, that's why there are fewer announcement. As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1]. Most Clojure programmers I know (myself included) would not choose to go back to Java. [1] https://insights.stackoverflow.com/survey/2019…
Is it growing? It is a difficult metric to quantify, but looking at thing like Github, or Reddit, it seems flat or declining. Clojure initially benefited as the preferred Java escape path, but it seems like that has been supplanted by Kotlin. https://github.com/oprogramador/github-languages#most-failin... https://www.benfrederickson.com/ranking-programming-language...
In case of Clojure the answer is unequivocally yes. It's got a large active community around it, and there are many companies of all kinds using it in production. Whether it's growing rapidly or slowly doesn't really affect its effectiveness compared to the other options available.
Re: Elements of Clojure
#43Earlier quoted context omitted.
Is it growing? It is a difficult metric to quantify, but looking at thing like Github, or Reddit, it seems flat or declining. Clojure initially benefited as the preferred Java escape path, but it seems like that has been supplanted by Kotlin. https://github.com/oprogramador/github-languages#most-failin... https://www.benfrederickson.com/ranking-programming-language...
I really don't understand why people obsesses over popularity so much. The only question worth asking is whether the language has a big enough community to be sustainable, especially when dealing with a hosted language that leverages the underlying ecosystem. In case of Clojure the answer is unequivocally yes. It's got a large active community around it, and there are many companies of all kinds using it in productio…
The only question worth asking is whether the language has a big enough community to be sustainable
Exactly, and I'd argue Clojure was on a path to yes, but has lost momentum and is leaning toward no.
Re: Elements of Clojure
#44Would be good to get a Datomic Cloud book but I don't know of any yet
Re: Elements of Clojure
#45Don't let the title fool you - 90% of the advice given in this book isn't specific to Clojure, and boy is it good advice. This book contains some of the deepest programming insights I've encountered, to be put on the same level as SICP or the Pragmatic Programmer. The discussions on naming and abstraction are particularly illuminating, exposing some fundamental tradeoffs like synthetic vs natural names, or principled…
I think you summarized beautifully the difference between design ("make choices") and implementation ("get things to work"). Am I correct in that?
Re: Elements of Clojure
#46Earlier quoted context omitted.
5-8 years ago, Clojure was constantly on HN! Then it fell out of HN attention.
Yes not sure what happened to clojure. The rise and fall of clojure is really intriguing. Looks like everyone just went back to java.
Clojure today has more conferences, meetups, podcasts, jobs and books than any of those "non-mainstream" PLs like OCaml/ReasonML, Haskell, Elm, Elixir, Erlang, Julia, F#, Swift. Soon number of Clojure conferences will exceed number of Scala-related confs.
Clojure community is still innovating. Mind that the steward company has probably less than 100 engineers in total and the community has less active members than the number of engineers working for Google, yet they are constantly doing pretty cool things. They are figuring out interop with Python and R from Clojure, they are constantly improving Clojurescript performance, they're experimenting with type systems, improving Editor/IDE support, doing machine learning stuff, serverless, graphql, smart-contracts, distributed systems, etc. etc.
People don't see it, because they are too busy shoveling shit from one corner of the ecosystem to another in Python, Typescript, Java, Ruby, Golang etc. stacks. But Clojurists are quietly building things and solving real problems.
Re: Elements of Clojure
#47Earlier quoted context omitted.
Was going back to JavaScript your choice or an external factor such as job-related reasons? As someone starting out with Clojure and ClojureScript I'd be interested to hear about your experience.
External factors. Clojure didn't offer a great variety of jobs, especially remote. There was a decent number of jobs for onsite positions, but that's the trade I wasn't willing to make. The language itself is great. The ecosystem is fine, you can find most libraries and if you can't you can at time use the JAVA versions. This was at times a pain because Java client libraries for certain services were out of date. Sol…
Things have changed. Today there are more Clojure jobs than of Haskell, OCaml, F#, Elixir, Elm. Especially remote jobs. There are few channels in Clojurians Slack where people post jobs and resumes and discuss them. There's a new posting almost every day.
Re: Elements of Clojure
#48Earlier quoted context omitted.
External factors. Clojure didn't offer a great variety of jobs, especially remote. There was a decent number of jobs for onsite positions, but that's the trade I wasn't willing to make. The language itself is great. The ecosystem is fine, you can find most libraries and if you can't you can at time use the JAVA versions. This was at times a pain because Java client libraries for certain services were out of date. Sol…
I'm mystified that not more people are offering remote possibilities when hiring for Clojure. There are some really great people out there, but the likelihood that they live in your neighborhood is low. Geography seems like an arbitrary constraint to me. Nothing about it increases the probability of getting a better candidate.
Re: Elements of Clojure
#49Earlier quoted context omitted.
It hasn't fallen. The Clojure community has been growing steadily and continues to grow (it's a great community, I'll add). Things have just settled down since, that's why there are fewer announcement. As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1]. Most Clojure programmers I know (myself included) would not choose to go back to Java. [1] https://insights.stackoverflow.com/survey/2019…
> As an aside, the 2019 SO survey shows Clojure programmers are the best paid [1] That's more an indication of scarcity than anything else. FORTRAN and COBOL programmers are also pretty well compensated. Also, good luck getting any of these jobs.
When was the last time you've tried? I know a great deal of developers (including myself) working exclusively with Clojure and have never struggled finding a new gig.
Re: Elements of Clojure
#50Earlier quoted context omitted.
I really don't understand why people obsesses over popularity so much. The only question worth asking is whether the language has a big enough community to be sustainable, especially when dealing with a hosted language that leverages the underlying ecosystem. In case of Clojure the answer is unequivocally yes. It's got a large active community around it, and there are many companies of all kinds using it in productio…
It has a small active community with many abandoned libraries, no killer app, and painful tooling. I like the language in spite of that, but size of community matters. To your point, as a hosted language you can make up Clojure's deficiencies by using Java libraries, but if you aren't a Java developer (or are a disgruntled Java developer) that isn't a great answer. The only question worth asking is whether the langua…
Wrong. Clojure community is only smaller in comparison to mainstream languages: Java, JS/TS, Python, Ruby, Go. Today it has more conferences than Haskell, F#, OCaml, Elm, Elixir, Erlang. More meetups and more podcasts. Just this year alone there were announcements for Clojure confs in India, Brazil, Canada, Russia and Belgium (and these are just for new ones)
> many abandoned libraries
Wrong. Clojure emphasizes modularity and composability, library that supposed to be doing one thing and well is usually just that. Besides, Clojure is also legendary for stability and backward-compatibility. I don't know any other language where you can pick a project of a few years old, update a few dependencies and still expect it to work. You don't have to re-write things every time TC39 gets browsers to support yet another Javascript feature. Read this passage from one of the Clojure libs https://github.com/candera/causatum#liveness-advisory to understand why Clojure libs don't get updated very often.
There are hundreds of Emacs packages that people still download and use but they haven't seen any updates for decades. Does that make them "abandoned"?
> no killer app
Wrong. Clojure often offers multiple choices for any domain. Being hosted makes it even broader. Yes, some knowledge of the language you're trying to interop with is required, but you don't have to be an expert to successfully build and maintain things. If someone doesn't qualify Figwheel, Re-frame, Fulcro, Lacinia, etc. as "killer apps" I don't know, maybe they are just pathologically ever unhappy.
> painful tooling
Wrong. Again. It used to be difficult, because only Emacs used to have nice support for Clojure. Today you can write Clojure in Emacs, IntelliJ, Atom, VSCode, Vim, Eclipse. And tooling is a lot nicer in comparison with other tech stacks.
So no, Clojure has never "lost the momentum". It is still growing, but less rapidly. The ecosystem has reached levels of hedonic adaptation, where people are just happily using it without too much excitement and/or frustration. Clojure has become a "boring" language. It just works. And arguably it is probably the best tool for what it is made for.