Why not Clojure?

It can’t be familiar unless you’re experienced. Nothing is familiar to a beginner.

I think the backlash against Java shows that it really doesn’t do that. At all. I’d say it’s been successful in the enterprise because of how well it enforces code organization and keeps different parts of the code walled off from each other. Vast armies of mediocre developers will make any language look horrible.

The original language, no. You couldn’t pay me to use non-ES6 JS. With ES6, though, it’s pretty well designed. It still holds on to the old stuff for compatibility, but never having to use var, bind, or IIFEs is a wonderful thing.

Aren’t simplicity and pragmatism also highlighted for Clojure?

That’s how I ended up maintaining the JDBC wrapper in Contrib: almost no one else was using Clojure for “boring” stuff like relational database work! At the time I was genuinely shocked that people were not using Clojure in those sorts of mainstream problem spaces.

SQL is a fine language, but it usually feels tedious to write. I genuinely enjoy writing queries with next.jdbc. It’s not “boring” at all. Thank you!

Thank you!

Funnily enough, I’ve ended up as the maintainer of HoneySQL as well now, and I just spent some of yesterday going through our codebase switching some large SQL strings into HoneySQL code so that I can replace a hardcoded clause with a programmatically constructed one (that is conditionally either a simple column comparison or one of two different joins and column comparisons). Being able to compose query fragments, merging in selects, joins, and where clauses using -> and cond-> is so much more pleasant than bashing strings together!

I’d be interested to know what he means by expressiveness though? The only tool I can think of that adds back expressiveness is Java’s Lombok.

There’s a few languages that I’ve used that I really love. I love C++, I love C#, and I love ActionScript 3 for example. I wouldn’t consider myself a fan of them though, while I love Clojure and would say I’m a fan of it. There’s something about it that keeps me engaged, and if I had my job switch back to some other language, I’d probably keep one feet in the Clojure world on my own time.

Whereas I easily moved on from C++, and ActionScript 3 and C#, I think it be really hard to move on from Clojure.

Another thing I’ve noticed is some people need to kind of resolve themselves that other languages ain’t that bad, because they are burned out by the struggle of trying to make their favourite language into something that they can find a job in, or that can grow the libraries and tools they need for their projects. And that’s totally fair, but I think this drives a lot of the: “Hey the mainstream languages if you squint actually have ways to make up for everything that Clojure has, so really who needs Clojure” narrative.

And I want to address the: “You can write good code in any language.” I think that’s a big claim considering no two dev could ever agree on the formal definition of good code. Such claims seem actually devoid of real meaning for me. I feel there’s a fallacy in it, not too sure which. Maybe a vacuous truth, or an inconsistent comparison, or an incomplete comparison, or a McNamara fallacy, it also seem to have a bit of argument from ignorance and some level of circular reasoning.

2 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.