Earlier quoted context omitted.
A lot of living languages are based around insular communities. Clojure just fits a niche (people who want a general purpose LISP on the JVM), that's all. I can't be sure though since I am not a Clojure developer.
Clojure goes out of its way to be insular. Creating a PR upstream requires you to have been given access explicitly from Rich Hickey (or whoever admins their Gitlab instance). The Clojurians slack is invite-only. etc.
Ask HN: Is Clojure Dead?
61–70 of 145 posts
Re: Ask HN: Is Clojure Dead?
#62Earlier quoted context omitted.
A lot of living languages are based around insular communities. Clojure just fits a niche (people who want a general purpose LISP on the JVM), that's all. I can't be sure though since I am not a Clojure developer.
Clojure goes out of its way to be insular. Creating a PR upstream requires you to have been given access explicitly from Rich Hickey (or whoever admins their Gitlab instance). The Clojurians slack is invite-only. etc.
There are many ways to contribute to Clojure and its ecosystem: https://clojure.org/community/contributing -- and a PR or patch is often the smallest, simplest part of the process because there is a lot of other work involved in making any change while maintaining stability and performance.
Clojure core and Contrib libraries use Jira for collaboration (and GitHub for hosting source code). Anyone can post to https://ask.clojure.org (maintained by the Clojure core team) with suggestions about changes, enhancements, bugs, or even just general questions. The core team and the various Contrib library maintainers are quick to create Jira issues from posts there.
Once all the groundwork has been done on an issue and it is ready for a potential patch, you can get a Jira account approved (if you're a first-time contributor) and you can attach a patch to a ticket there. See https://clojure.org/dev/dev for information about the development process which emphasizes the groundwork necessary for a change to be considered. Many hundreds of people have gone through this process: https://clojure.org/dev/contributors
Anyone can sign up for the Clojurians Slack at http://clojurians.net -- Slack itself forces the "invite" machinery on us but that self-signup link is well-publicized and, like many OSS community Slacks, is maintained by a team of volunteer moderators. Clojurians is on a Pro plan so it has full history/searching available, sponsored by Slack itself (much appreciated by the thousands of Clojurians!).
Disclaimer: I've been a contributor for about a decade. I've contributed to Clojure itself (a small patch for one release) and I maintain five of the Contrib libraries, which all use Jira and patches as their workflow.
Re: Ask HN: Is Clojure Dead?
#63For the US, Google Trends reveals that Clojure's heyday came in 2013, and it has been on a decline since[0]. It never really reached the interest level of Scala, and of course recently Rust is consuming all the air in the room. Except, just for kicks I add Golang, and it turns out that all of the above are marginal compared to Go[1]. HN posts are very different from general interest, but yeah, I'd go with "Clojure ha…
Clojure is designed to solve hard problems, for people who want something objectively "better" than mainstream tools. That's why it tends to attract more senior developers -- people who've felt the pain of other languages and want something better -- although we also see a steady stream of new developers who are interested in better tools even before they've felt that pain.
Of course it's niche -- it's a Lisp! It's alien. It's "too different" for many companies or many developers to even consider it. And that's fine. The space is big enough for niche languages to thrive and for developers to build careers on them, if they wish to do so.
Re: Ask HN: Is Clojure Dead?
#64I believe you that you haven't see much about Clojure over past 2 years of so. But the cause might be that you simply haven't looked at Clojure in the past 2 years of so. OTOH, I've seen plenty of Clojure in the same 2 years. Perhaps most of news/fuzz is about Rust, but I haven't seen much of that, since I'm not following the news sources that talk about that.
In the end, it depends what you want to do. If you want a great programming language with vast ecosystem and decent number of job opportunities, Clojure is still the thing. If you wish to participate in the most mainstream thing, I believe the Python/Java/Javascript is the answer. But then you're competing with 30 million of other job seekers there.
Perhaps Clojure can't rival the Cardashians or Lady Gagas of this world in the amount of news (for better or worse).
Re: Ask HN: Is Clojure Dead?
#65Earlier quoted context omitted.
Thanks for the answer! About 2. It's not only HN (but I get your point which is why it could be that they are less talked about and more used). Waht worries me is the LinkedIn job ads for clojurists.
Probably LinkedIn is not the best place to find Clojure jobs. Most of the jobs I've gotten has been because of word-to-mouth. Getting into the ecosystem and contributing patches/features to libraries/projects is your best bet to be considered for positions. Second to that, there are dedicated job sites for Clojure (like https://jobs.braveclojure.com/ ). Thirdly, the #remote-jobs / #jobs channel on the Clojurists Slac…
That said, I was pleasantly surprised recently by a search on LinkedIn for Clojure and found some big household names hiring (including several large banks who most people think of as being very conservative).
Re: Ask HN: Is Clojure Dead?
#66Clojure is a wonderful language, but not so wonderful that I can tolerate its slow startup and compile times. I think lots of developers think the same way. Imo any language nit facilitating fast startup and compile is stillborn. Imo the same goes for any language requiring you to setup a "project" or something to get started.
Yeah, Clojure is not great for CLIs, but pretty much every other use case it excels at. For CLIs, there is always Babashka ( https://babashka.org/ ) which works good enough. For local development, you usually just compile+eval one function at a time as you change them, and those happens under 1ms, not enough to even notice (unless you develop with a remote REPL, but then network is to blame) For server usage, you usu…
For development, if you're finding "slow startup" to be a problem, you're just doing it wrong: start a REPL and leave it running -- mine run for days (or even weeks).
Re: Ask HN: Is Clojure Dead?
#67Clojure is a wonderful language, but not so wonderful that I can tolerate its slow startup and compile times. I think lots of developers think the same way. Imo any language nit facilitating fast startup and compile is stillborn. Imo the same goes for any language requiring you to setup a "project" or something to get started.
Yeah, Clojure is not great for CLIs, but pretty much every other use case it excels at. For CLIs, there is always Babashka ( https://babashka.org/ ) which works good enough. For local development, you usually just compile+eval one function at a time as you change them, and those happens under 1ms, not enough to even notice (unless you develop with a remote REPL, but then network is to blame) For server usage, you usu…
Re: Ask HN: Is Clojure Dead?
#68Earlier quoted context omitted.
Thanks for the answer! About 2. It's not only HN (but I get your point which is why it could be that they are less talked about and more used). Waht worries me is the LinkedIn job ads for clojurists.
Probably LinkedIn is not the best place to find Clojure jobs. Most of the jobs I've gotten has been because of word-to-mouth. Getting into the ecosystem and contributing patches/features to libraries/projects is your best bet to be considered for positions. Second to that, there are dedicated job sites for Clojure (like https://jobs.braveclojure.com/ ). Thirdly, the #remote-jobs / #jobs channel on the Clojurists Slac…
The number of roles in all of Canada for Clojure is about 40 on LinkedIn, easily less than the number of applications a job hunter could send out in a day.
Re: Ask HN: Is Clojure Dead?
#69Earlier quoted context omitted.
Yeah, Clojure is not great for CLIs, but pretty much every other use case it excels at. For CLIs, there is always Babashka ( https://babashka.org/ ) which works good enough. For local development, you usually just compile+eval one function at a time as you change them, and those happens under 1ms, not enough to even notice (unless you develop with a remote REPL, but then network is to blame) For server usage, you usu…
No, you are missing the point. Slow startup and long compiles is a hindrance to all kinds of development. You can ask developers to adapt and use a long-running repl, but they won't. Complain all you want about drama and how stupid people are, they still won't choose Clojure.
What kind of development do you do where you have to recompile the entire program and restart the process on every change? No Clojure developer develops like that, just like no Smalltalk developer would reload the entire environment for every change, or no Rust developer would recompile the entire dependency tree for every change.
In Clojure land, you just compile/eval what changes without restarting the process, that's like 50% of the reason you'd chose to go with Clojure in the first place.
Re: Ask HN: Is Clojure Dead?
#70Earlier quoted context omitted.
I mean compared to a few years ago. I tried setting up a new project after 1 or 2 years away from the ecosystem, and struggled a lot : all existing templates to set up new projects (esp. with CLJ/CLJS combined) had bitrotten and were not usable out of the box ; emacs integration no longer working out of the box, etc. I think it's a "death by a 1000 cuts"/"broken windows" that is may be happening when the ecosystem la…
Similar experience here. My first Clojure(script) projects used leiningen, now everything is deps.edn and the clojure CLI. Cool, changes happen. But editor integration, REPL tooling, even which compiler to use, etc are not consistent either. The tooling is changing everywhere and bit rot has claimed almost all of my past projects. The code is still 100% compatible but the build system is just broken. I've given up tr…