News for hackers. Stuff that matters.
Re:Storm 2.0 by unlogic on Sunday June 02, 2019 @05:41AM (#20074447)
To me, this makes total sense as the project moved to Apache. Obviously, much more people will be able to consider contributing when it's in Java. Apache goal is sustainability and long-term viability, and Java would work better for that.

I also consider this a success story for Clojure. It gives Clojure another usecase: a "production-ready prototype" language where the resulting "prototype" can last for eight years and benefit thousands of developers until it gets rewritten to something else when all the hard questions are answered, and most experimentation/wandering is over.

Re:Storm 2.0 by neilv on Sunday June 02, 2019 @07:51AM (#20074905)
(I think the HN title was edited since your comment; I think an earlier title highlighted the move from Clojure to Java.)

> It gives Clojure another usecase: a "production-ready prototype" language where the resulting "prototype" can last for eight years [...] until it gets rewritten to something else when all the hard questions are answered, and most experimentation/wandering is over.

That general story, first heard from Paul Graham, about projects starting with Lisp and being successful that way, before eventually being rewritten, works for me.

I've been hoping at least a couple college startups would be inspired by this to use Racket initially, but if they have, I haven't heard of it. (I speculate that the current FAANG feeder emphasis among CS students hasn't helped. Who has time to play with a Lisp, when the now-all-important whiteboard interviews won't use it.)

> Obviously, much more people will be able to consider contributing when it's in Java.

If you have a company, and you want to hire Lisp people (whether it's Clojure, CL, or Scheme/Racket), I think you can probably hire people, because Lisp people like getting paid to use Lisp.

If you're looking for unpaid/volunteer contributions to an open source project, there's all sorts of things that affect that, and it's not unusual to get little-to-no contributions.

Re:Storm 2.0 by stingraycharles on Sunday June 02, 2019 @08:52AM (#20075150)
> I think the HN title was edited since your comment; I think an earlier title highlighted the move from Clojure to Java.

This is correct, it was “Storm ditches Clojure in favor for Java”.

Re:Storm 2.0 by dang on Sunday June 02, 2019 @01:58PM (#20076952)
"Storm ditches Clojure in favor of Java in its core". A moderator changed it, in accordance with the site guideline: "Please use the original title, unless it is misleading or linkbait; don't editorialize."

https://news.ycombinator.com/newsguidelines.html

Re:Storm 2.0 by amortize on Sunday June 02, 2019 @07:27AM (#20074814)
> I also consider this a success story for Clojure.

It is a success story for Clojure, but this move is a big negative feedback for the language. A team starting out on an open-source project will be mighty reluctant to start it with Clojure; because it might get rewritten not so much into the future. That is not good news for Clojure

Re:Storm 2.0 by fnordsensei on Sunday June 02, 2019 @08:41AM (#20075102)
If, five years (or what-have-you) down the line—when you've pretty much enumerated all use-cases for the project, solidified what it's supposed to do and how, learned from your mistakes, and so on—you can't come up with a better design, something is off. With all that knowledge, there should be plenty of space for performance optimizations and pruning of vestigial stuff for a non-trivial project.

As for switching to Java, that makes perfect sense to me if that is what the contributors prefer. If you're going to make a big rewrite, you might as well change the language to one you prefer when you have the opportunity.

As someone who spends 100% of dev time in Clojure, I'm quite happy to see this development. Dipping into Java isn't uncommon for optimizations in Clojure, so this is like someone taking the time to do a massive under-the-hood optimization from the point of view of a Clojure user. I doubt it changes the project's status much in the Clojure community. Perhaps it'll even see an uptake in use.

What it doesn't say much about is Java vs. Clojure in my opinion. Different contributors, with different amounts of pertinent knowledge, and years apart. I'm not sure how you would control for those variables in a comparison. It should be read more as, "we put in a heck of an effort to make this thing faster and more useful", and kudos for that.

Re:Storm 2.0 by cutler on Sunday June 02, 2019 @10:00AM (#20075488)
Pegging Clojure as a prototyping language relative to Java is hardly encouraging.
Re:Storm 2.0 by unlogic on Sunday June 02, 2019 @11:28AM (#20076048)
Oh no, I'm saying it's another usecase, not the only one. And yet, it is a pattern I follow quite often in my mixed Clojure/Java projects: Clojure code is much easier to tinker with, take to new directions, rapidly modify and see the results. But once I settle with an approach/algorithm, I rewrite some things to Java for performance, or for easier interop with other Java/Scala teams, or because the imperative mutable code looks much better in Java.

So, you can say that Clojure among everything else is my IDE to write Java code. Is that a bad suit for a language? Depends on your perspective, but I personally am very happy that I have Clojure by my side.

Re:Storm 2.0 by usgroup on Sunday June 02, 2019 @06:47AM (#20074659)
I think it’s noteworthy that whatever the benefits of clojure it didn’t outweigh the adoption issue.

It’s quite a mature language so I’m not sure that bodes we’ll for its prospects this late in the game.

Re:Storm 2.0 by unlogic on Sunday June 02, 2019 @07:45AM (#20074884)
Whatever the benefits of Clojure are, they were enough for Nathan Marz and first contributors to write Storm in it and succeed. Note that it's not an argument about impossibility of writing something like that in Java (see Spark, Flink, Heron, etc). But at that exact moment in time, a Clojure Storm was created and became useful to many people for years. There were many more Java programmers than Clojure programmers then and now, yet the Java coomunity didn't produce their own Storm first.

I think it speaks of something.

Re:Storm 2.0 by lvh on Sunday June 02, 2019 @07:50AM (#20074900)
If you can have the foresight to know how your project will be used many years down the line, sure, make technical decisions based on that :-)

(Personally, I think the change is rather evidence of the primary drivers behind Storm development in 2019, and... that's not a good thing.)

Re:Storm 2.0 by yogthos on Sunday June 02, 2019 @09:58AM (#20075476)
A Java shop inherited a Clojure project and rewrote it in their preferred language. It's silly to read more than that into this.
Re:Storm 2.0 by usgroup on Sunday June 02, 2019 @10:58AM (#20075840)
I’d agree if it didn’t keep happening .
Re:Storm 2.0 by yogthos on Sunday June 02, 2019 @11:13AM (#20075961)
It doesn't. There are plenty of Clojure projects out there and nobody's rewriting them in other languages. There are also plenty of companies nowadays that have been using Clojure for years. The feedback from them is overwhelmingly positive.
Re:Storm 2.0 by sooheon on Sunday June 02, 2019 @08:49PM (#20079517)
Rewrites between languages keep happening in all kinds of permutations. I think pessimism or optimism from just headlines and announcements is more about what you read into it.
Re:Storm 2.0 by usgroup on Monday June 03, 2019 @02:24AM (#20080837)
It reminds me of the “why we switched from Mongo to X” or “why we switched from Ruby to Y” trends some years ago.

I saw Clojure become popular long before it was ready for the limelight: it definitely wasn’t pragmatism driving it. It was a fetish for syntax and paradigm.

Re:Storm 2.0 by stingraycharles on Sunday June 02, 2019 @06:56AM (#20074691)
What if Clojure is a language that bodes well especially early in a project’s lifecycle?
Re:Storm 2.0 by usgroup on Sunday June 02, 2019 @07:02AM (#20074711)
I think it’s very difficult to motivate going out of your way to hire decent devs that know clojure and java only to throw away the clojure some time down the road.

Begs the question, why not just write it in Java? Then at least its more likely to be a refactor down the road rather than a rewrite.

I think clojure ought to be a production ready language that scales well. That’s what it was designed to be. However lisp seems to dichotomise devs into those that get it and those that don’t and thus alienates many would be team members.

Re:Storm 2.0 by sitkack on Sunday June 02, 2019 @06:16AM (#20074557)
See my response inspired by your comment and agumonkey here https://news.ycombinator.com/item?id=20074532

I am drawn to the idea of scalable languages or languages with zero friction for interop.

This thread on Pallene is interesting https://news.ycombinator.com/item?id=18038619