Live data from Hacker News

Ask HN: Is Clojure Dead?

news.ycombinator.com

121–130 of 145 posts

Re: Ask HN: Is Clojure Dead?

#121
post #79

Earlier quoted context omitted.

REPL driven development is great, but there are still tons of situations where you want a full recompile and restart. Slow compile and start time really slow down development. Recently I was porting a small application from Clojure to Rust, and 'cargo watch -x run' was faster than 'clojure.tools.namespace.repl/refresh' and is more reliable.

> but there are still tons of situations where you want a full recompile and restart What situations specifically? In my career as a Clojure/Script developer, making servers, desktop UIs, frontends, CLIs, almost anything, I've never had that requirement. So I'm a bit curious of when that would be required.

When you mess up the repl session somehow, for example by starting a http server on a port but not storing the server object. You now have blocked a port, and restarting the server does not work. Or if you run something like (future (while true ...))

There is some wierdness when redefining protocols and multimethods where a good 'ol restart is the easiest way to set things right.

Try working in an ecosystem with fast compile and startup and you will see why it is an advantage

Re: Ask HN: Is Clojure Dead?

#122

Earlier quoted context omitted.

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.

I can't speak to developing the language, but Clojurians (a very welcoming and helpful community!) is definitely not invite-only. Linked here alongside other resources: https://clojure.org/community/resources Oh, and there's a #clojure-dev channel.

My bad, I must have just not been using Slack right.

Re: Ask HN: Is Clojure Dead?

#123
post #61

Earlier quoted context omitted.

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.

You think Java of C# (originally) is any better?

Is Java supposed to be the best or the worst here? comparing oneself to the worst is not a good look…

I’d rather Clojure have a nice open tracker system you can submit issues/PRs to instantly (without preapproval) like most Github/Gitea-hosted OSS projects do.

Re: Ask HN: Is Clojure Dead?

#124
post #103

I can say that I (like many others) have built a thriving career on Clojure. I like to change jobs every couple of years, and I've never yet had any trouble finding a Clojure job I'm excited about (and I only consider well-paid remote jobs with friendly teams with companies doing something I feel good about). The community is mostly active on the Clojurians slack (currently ~24,000 users) and clojureverse.org. So --…

What domains are you using Clojure in?

So far: complex data visualization, transportation logistics, voting-related nonprofit, medical research, and augmented analytics. I like to explore new domains :)

Re: Ask HN: Is Clojure Dead?

#125

Earlier quoted context omitted.

> It's just incredible what a surplus value this dude alone provides to the ecosystem) Seconded; it's pretty jaw-dropping! > The tight feedback loop you have while molding a running program in your editor and the constant dopamine drip feed it causes are just too addictive. Well-said -- I've been needing to write some Python recently, and it's only redoubled my preference for Clojure; the Python shell is a poor subst…

I found it pretty easy to set up a Python REPL in VS Code, which would allow me to do similar things to the Clojure REPL such as highlighting some text in the editor and evaluating. All in all it was pretty close. I guess the only thing that is really different is that it was not connected to the same process I'm debugging, but a different python process. Is that the main thing you're missing?

Yeah, that's it exactly. For me there's a power and an ease of flow that comes from having the REPL in the context of your running software, with access to program state and the easy ability to modify your code as it runs without having to restart anything or lose state, that's really unbeatable.

Re: Ask HN: Is Clojure Dead?

#126
post #113

Earlier quoted context omitted.

It's not a workaround. It's how Clojure is designed, around its REPL, intended for interactive development at its core. Start a REPL, connect your editor, develop. You can start your apps in the REPL (from RCFs in your code -- Rich Comment Forms) and never type into the REPL. You can grow the application while it is running, you can run tests via the REPL from your editor. That interactive approach -- working on your…

I'm very familiar with the live editing aspect of Clojure, and I like it a lot actually. What I am saying is that Clojure's long startup time is still annoying if you want to restart, for example if you trashed your repl session or want to start with a clean slate. If Clojure would start fast enough it could also be used for CLI scripts and we would not need Babashka at all. All in all, I think Clojure is a great lan…

Wait, how slow is it starting for you? On my 2012 Mac Mini, a clean clj 1.11 REPL (with no namespaces loaded) starts in under 5 seconds (using JDK 18).

Re: Ask HN: Is Clojure Dead?

#127
This is why it's a bad idea to evaluate software technologies entirely by what shows up in the social media hype cycle news. The only metric you learn from that is "what's the new fad that I can get attention by writing about because people are eager to form an opinion about this brand new thing".

Probably a much better idea to not choose a language at the "tons of posts about it" phase of the lifecycle. Pick something that enough people actually use that it is considered too boring to be the hot new thing.

Re: Ask HN: Is Clojure Dead?

#128
post #75

Earlier quoted context omitted.

> Slow startup and long compiles is a hindrance to all kinds of development 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…

I'm explaining to you why Clojure won't reach mass adoption. I could offer you a long list of situations for which slow startup is a PITA and you would rebut my points by offering workarounds and I would rebut yours by showing why the workarounds are ineffective, and so on, but it would be waste of time. Users (me included) don't want to have to adapt to their tools. Tools that require users to adapt won't be popular…

> I'm explaining to you why Clojure won't reach mass adoption

I don't think you need to explain that, it's a conservative ecosystem for experienced devs, that was the target niche it was always aiming for. It's intentionally built to not reach that level of "mass adoption", mass-adopted, market dominating tools are one small subset of the set of useful software tools.

Re: Ask HN: Is Clojure Dead?

#129

Some languages judge popularity based on "freshness", others on "quality" and others on other values, like "usage in enterprise" and other variables. JavaScript ecosystem typically goes by "freshness" and "vanity stats", like GitHub stars or NPM downloads. An average JavaScript developer would check out a GitHub repository and look when the last commit was made, and if it's more than a year ago, decide the project mi…

It is a very weird unexpected artifact of Clojure being so focused on backwards compatibility. People finish excellent libraries and because they don't need to constantly update them because they still work perfectly ... the vanity metrics look bad and you have to reassure people that the project isn't dead, it's just finished.

It does a very good job at giving developers what they said they wanted, not having to do this constant annoying churn ... and it turns out a lot of people didn't actually want that, they like the churn and the feeling of productivity that merging dependabot PRs gives you.

Re: Ask HN: Is Clojure Dead?

#130

Closure is weird if you’re not already into lisps (I know, I know our fathers’ parentheses). It’s not easy to just pick up and start solving problems, because everything feels foreign. I don’t know if it’s dead or not, as I’m sure people still love to use it… it just doesn’t have any major upside that’d make me want to adopt it. Rust, as you’ve mentioned, is the opposite… huge upside out of the box and easy to adopt,…

I managed to avoid being OOP-ed at the beginning of my programming career when I discovered "Mastering Regular Expressions" by Jeffrey Friedl and "Programming Perl" by Larry Wall. It was a close call as I shared a house with a Java programmer who swore Java was the future. Perl was much cooler so I stayed with it and when Clojure appeared it was that much easier to learn, not having to de-OOP myself.
Post reply on HN