Live data from Hacker News

Ask HN: Is Clojure Dead?

news.ycombinator.com

91–100 of 145 posts

Re: Ask HN: Is Clojure Dead?

#93
post #80

Earlier quoted context omitted.

Indeed, yes. 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).

I also worked this way, I've had REPL sessions that ran for months, but IMO this is a workaround rather than a real solution. It's a good workaround, but fast startup would be a game changer. If Clojure would start fast enough, projects like Babashka would not be needed.

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 application "live" essentially -- is what sets Clojure's REPL apart from other languages' "interactive consoles" (sometimes misleading also called REPLs :)

And, yes, Babashbka is great for running CLI scripts. But that's a completely different use case to a long-running development process.

Re: Ask HN: Is Clojure Dead?

#94
post #47

Earlier quoted context omitted.

I've very recently changed my system from MacOS to Linux, so I've been reibuilding my Clojure environment from scratch. I've found the exact opposite in terms of maturity; Emacs support in particular is far more complete and usable out of the box than it ever was. I installed Spacemacs fresh, loaded up a Clojure file, and not only did I get automatically get CIDER, but I also got LSP support via clj-kondo and a bunch…

Hi ! I am ever so grateful for all the work you've put in over all these years, to get the Clojure ecosystem where it is today. What I am kinda saying is that Clojure would be in a better place if it was paying people like you a lot more!

Thank you, I'm glad some of the work I've done could be useful.

Re: Ask HN: Is Clojure Dead?

#95
post #31

Earlier 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…

Perhaps this is due to how much effort folks want to invest in hobby projects? (that's a broad question aimed at several folks here)

At work, we have a codebase of over 142K lines of Clojure, some of which dates back over a decade. We started with Leiningen (because it was the only game in town). We migrated to Boot in 2015 because we needed easier customization of our dev/test/build pipeline and Boot's "tasks" were a more natural fit. We migrated to Clojure CLI / deps.edn in 2018 because we were running into limitations with Boot as our repository grew and our needs for dev/test/build became more complex.

Each migration took about a week of one person's time.

Over that same period of time, I've probably switched my editor setup a dozen times, going back and forth between Emacs and several other editors/IDEs. I've been on VS Code/Calva for quite a while now -- with LSP/clj-kondo built-in, it's a really solid experience.

Re: Ask HN: Is Clojure Dead?

#96

I moved away from Clojure to Common Lisp. The Clojure culture doesn't take seriously developer experience, good documentation, easy getting started pages etc. Plus you have to deal with the JVM and slow compile cycles. Compared to that Steel Bank Common Lisp is rock solid and just works. Even the libraries and documentation are fewer but better. I did learn a lot from watching Rich Hickey's talks so there's that.

Really? I have the opposite experience. I _want_ to love CL but Clojure wins when it comes to IDE support and libs and documentation.

Maybe it's just me but I find (SB)CL tooling to be very obscure: ASDF, QuickLisp, Roswell etc. My main issue with it is that it's all written in CL itself and doesn't provide handy CLI tools to execute common tasks (compile app, build package, run tests, deploy etc.). Not to mention that documentation is horrendous.

Basically, I want it to have something like Maven/Gradle/Leiningen to manage dependencies, run tasks and so on. Am I missing something?

Re: Ask HN: Is Clojure Dead?

#98
post #79

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…

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.

Re: Ask HN: Is Clojure Dead?

#99
Been using Clojure for over a decade now, and I see these articles at least once a year. The reality is that Clojure is used more than ever today, with more libraries, tools, and companies around it. It was a viable language for many years, and the situation only keeps improving in every way.

Clojure simply doesn't have the hype around it because it's a mature and conservative language that's not chasing fads. This is a good thing because it's one of the most stable ecosystems I've had the pleasure to work with.

If you're looking for a hip new language then Clojure is probably not for you, but if you're looking to actually get work done using one of the best languages around then look no further.

Re: Ask HN: Is Clojure Dead?

#100
post #87

I find this hard to believe. I 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…

Clojure has probably had its heyday, but it's quite far from dead. The main issue is that there are other JVM languages nowadays that don't suck--that wasn't the case back in 2009. So, if you wanted the Java ecosystem but didn't want Java, your choices were quite limited. You had Scala (just ... no) and Groovy (oh, hell, no) and ... Clojure. Since then, Java, itself, has gotten a lot better, and there have become a p…

Thing is that Clojure is a very different language from Java in pretty much every way. People who use Clojure are typically drawn to it because it's a Lisp and facilitates interactive development. I highly doubt that it's popularity is significantly affected by languages like Kotlin that try to be a better Java.

If you're looking for a Lisp that you can use in production then Clojure is your best bet. This is the selling point of Clojure, and why it's unlikely to be displaced by newer JVM languages from its niche.

Post reply on HN