Live data from Hacker News

Is Clojure dying, and what has Ruby got to do with it?

lambdaisland.com

181–190 of 261 posts

Re: Is Clojure dying, and what has Ruby got to do with it?

#181

Earlier quoted context omitted.

Perhaps because significant white space (e.g. Python) has quite a lot of detractors of its own.

I absolutely cannot stand significant whitespace... it is a step back in almost every area of usability.

In your opinion. For you it's a step back. For some of us it's very easy to read and write.

Re: Is Clojure dying, and what has Ruby got to do with it?

#182
post #49

Clojure's "killer feature" for me is the by-default persistent data structures. Are there any other functional languages out there with similar features? Lisp or otherwise.

Erlang/Elixir also is immutable & persistent by default.

It is immutable and persistent, but not with the same performance characteristics. It lacks Bagwell's data structures that allow structural sharing. Take a 10 million item list in elixir and 'change' (return a new) the 5 millionth element. Time how long it takes. Do the same with clojure. Compare.

Re: Is Clojure dying, and what has Ruby got to do with it?

#183
post #176

Earlier quoted context omitted.

> The JVM just feels slow and cumbersome compared to what I'm used to (Node.js, Erlang/Elixir, Python) In what regard? Because the JVM is faster than all of the above.

It's the startup and REPL time, typically. The JVM is super-powerful when it comes to compute tasks, but define a function on the REPL and Clojure will compile it, which is necessarily slower than what Python does. So yeah, Clojure's faster, but perception matters. Erlang's a different case because it optimises for responsiveness for small tasks. It's very hard to write Clojure or even raw Java code as good at that a…

I agree with you, it's the startup time. It is felt when running unit test too.

That's why JRuby is still a niche and most developers keep using MRI despite JRuby being eventually faster. It's a different example of developer happiness.

Re: Is Clojure dying, and what has Ruby got to do with it?

#184
“What is right is not always popular and what is popular is not always right.” -- Albert Einstein

I love Clojure, am more productive in it than any other language (and I've done a lot in my time, including the other FP languages mentioned in this thread) but I have to concede that most people will just not like it or get it. And that's fine by me.

I also like alternative music. Most people will never like it. Most people like mainstream pop. This is also fine by me.

Oh and I certainly would never go back to a mutable-by-default language like Ruby. I mean if it works for you, do it. But I think you are crazy.

Re: Is Clojure dying, and what has Ruby got to do with it?

#185

Clojure's not dying, but it's also not thriving[1]. I think it will continue on as a solid niche language for the foreseeable future, but it's highly unlikely that the language will grow by leaps and bounds barring some must-have innovation in the Clojure language and/or ecosystem that gets the tech world to take it more seriously. There are so many options these days that it's tough to stand out from the crowd. Cloj…

It's not really clear to me why, but lisps keep trying and keep dying. Best guess is that in the end, syntax really does matter and lisp just doesn't have enough of it. Whether it's scheme or clojure or arc, every once in a while a new lisp comes along, and they never make it. This through decades and generations of programmers.

My (half-serious) take on this is that LISPs are too easy. A lot of little things that are hard in other languages are easier in LISP, which results in you writing the code yourself instead of pulling in a library some else wrote. This greatly reduces both the need and offering of a package manager which usually plays an important role in establishing a ecosystem and community in other languages.

In all seriousness, I think that package managers play a big role in the success of modern languages, espcially if the package managers are there from the beginning. As far as I'm aware Clojure was the only attempt at a LISP where a package manager was included from the beginning.

Re: Is Clojure dying, and what has Ruby got to do with it?

#186

Earlier quoted context omitted.

Lisp used to be the language for AI, could Clojure possibly steal the machine learning niche back from Python?

> Lisp used to be the language for AI IIRC, when Lisp was a leading language for "AI", it was specifically a leading language for expert systems , not ML. Even to the extent that was due to language features being well-suited to the domain, there's still no real reason to expect that suitability to translate to the radically different approaches to AI today.

> Even to the extent that was due to language features being well-suited to the domain, there's still no real reason to expect that suitability to translate to the radically different approaches to AI today.

People these days use Python for ML, which is even less suited for the domain (and lacks the ability to re-suite itself), not to mention being significantly less performant than popular Common Lisp implementation.

Our industry is strange :).

Re: Is Clojure dying, and what has Ruby got to do with it?

#187
Why would you expected a dialect of Lisp to become popular in the Packer's and Pointy Haired Bosses Paradise (a ready-made ecosystem for sweatshops and coding factories of easily replaceable coding drones)?

A bit more seriously (which does not mean than anything in the previous paragraph is less true) the Java ecosystem has been grossly oversold from the very beginning, and even Rich himself has been converted (I still remember how I spat when I listened to his praise for Java as the best target platform in his very first marketing videos).

Clojure has been very well positioned and cleverly promoted (basically bringing decades of research by very bright people culminating in the Common Lisp to the Java Land of packers) but there was (and is) no demand for it and very few of those who could understand and appreciate the principles and ideas on which it has been founded.

It is dying for the very same reasons that the Common Lisp is still dying - The Worse Is Better or Idiots, Idiots Everywhere.

No one really needs a perfection (approaching perfection) of the great languages. The popular crap to get shit done for a paycheck (Java, Javascript, Ruby you name it) is what is in demand.

But this is rather a common pattern. This is exactly how the Upanishadic philosophy has been degraded into cryptic meaningless tantras, how Buddhism has been transformed into debased Lamaism, how western philosophy ended up with Hegelian nonsense and Marxism or what a sophisticated noise we have instead of Bach. The very same pattern. The world is dominated by idiots and will always be.

Re: Is Clojure dying, and what has Ruby got to do with it?

#188
These decline and declare articles are programmers equivalent of alien-abduction tales in dive bars. I was - sniff- abducted by a foreign framework - sniff- they made me do this - sniff- they made me learn - sniff - put there knowledge everywhere in my brain. It was horrible. - sob -

It sounds horrific but you are not bound by oath and vow to the framework you love. You must not jump ship, you can ride two or three, depending on where your money comes from.

Re: Is Clojure dying, and what has Ruby got to do with it?

#189

Earlier quoted context omitted.

Lisp used to be the language for AI, could Clojure possibly steal the machine learning niche back from Python?

Lisp was invented to produce AI. Machine learning is a better way to produce AI. So in a sense, Machine learning takes the needs for Lisp (in AI) away.

Lisp was invented by the guy who coined the term AI, not for AI. Its popularity in AI circles in the past stems from a) being developed by the same groups of people and b) being well-suited for symbolic computation; something that many mainstream langauges suck about to this day, even though it's nothing AI-specific.

ML takes the needs for Lisp more-less in the same way Entity-Component-System architecture takes the needs for C++ and C# programmers...

Re: Is Clojure dying, and what has Ruby got to do with it?

#190
post #96

Oddly, as someone who was reasonably into Common Lisp, what really viscerally turned me off to Clojure was the use of square brackets. This sounds petty but I actually have some rationalization for it. Once you learn to read Lisp (mostly looking at the indentation and ignoring the parens) it's really nice that there's only one kind of delimiter in the language. It allows a lot of easy structure editing with a decent…

What's interesting is that for me Clojure was my first lisp. One of the main reasons I never learned lisp before Clojure was all the parens that made the language impossible to read. Clojure cleans up the "normal" lisp syntax quite a bit, and that made it a lot more palatable. Beauty is in the eye, and all that, but CL code still makes me want to claw my eyes out.

Dim the parens in your editor. It helps if you're not used to them already.
Post reply on HN