Live data from Hacker News

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

lambdaisland.com

241–250 of 261 posts

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

#241

Earlier quoted context omitted.

Incanter is not the only game in town, FYI.

For example? Not being snarky, just want to know what you'd recommend.

Dragan has an excellent platform for Bayesian Data Analysis:

https://github.com/uncomplicate/bayadera

I first learned about it while moaning about Incanter in previous Clojure threads! But I don't think it's broad enough (I realise it doesn't aim to be) to usefully capture enough mindshare that Clojure is a first-class citizen in the numerical computing space.

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

#242
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…

As a former CL dabbler I didn't mind the square brackets in let but I really liked the use of them for vector and curly braces for map. To me bringing two useful data structures beyond lists into the language syntax felt very powerful and simple.

Common Lisp does have syntax for vectors, they're written #(1 2 3). It doesn't have literal syntax for hash tables, but it's a trivial read-macro if you can't live without it (although alists have some other nice properties like easy shadowing/popping of bindings, and the kind of associations you would want to write as literals are generally small enough that their O(n) lookup isn't a problem).

CLTL2 gives a rationale for using #(...) instead of [...] for vectors:

Many people have suggested that brackets be used to notate vectors, as [a b c] instead of #(a b c). This notation would be shorter, perhaps more readable, and certainly in accord with cultural conventions in other parts of computer science and mathematics. However, to preserve the usefulness of the user-definable macro-character feature of the function read, it is necessary to leave some characters to the user for this purpose. Experience in MacLisp has shown that users, especially implementors of languages for use in artificial intelligence research, often want to define special kinds of brackets. Therefore Common Lisp avoids using brackets and braces for any syntactic purpose.

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

#243

Earlier quoted context omitted.

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.

I don't really get this line of thought... are curly braces really that hard to read and get in the way of things to you?

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

#244
post #222

Earlier quoted context omitted.

FWIW, running code through machine-formatting is an idea that squicks me enough that I hadn't even considered that you would be trying to do that... :(.

It's incredibly common for Lisps. Check out Parinfer or Paredit - it makes Clojure and other Lisps a real joy to write IMO.

Pretty-printers are also useful for the times when Lisp is printing code for you to read, for example macro expansions.

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

#245
post #196

Earlier quoted context omitted.

Very unlikely. Incanter is basically dead, so I don't think Clojure is one of the go-to numerical computing platforms. Therefore I just don't see it getting the mind-share required to thrive for these sorts of applications. Besides, at the technical level AI in the age of Lisp was a very different beast than AI today. If you take Eurisko to be the apex of Lisp-based AI, it benefited from code-as-data, dynamism, creat…

Incanter is not the only game in town, FYI.

[deleted]

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

#246

Earlier quoted context omitted.

Incanter is not the only game in town, FYI.

For example? Not being snarky, just want to know what you'd recommend.

There is no direct replacement, because there are different libraries tackling different aspects of what you may need: high performance computations, data munging, distribution, probability stuff, ML, deep learning etc. Most are on github, some have websites and lists/communities. Google is your friend there. Most of them are still in heavy development, but other than cutting edginess, they do their things much better than incanter would do it (but I never found Incanter useful for beyond helloworld-ish programs even in its glory days so that's not a particularly high bar).

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

#247

Earlier quoted context omitted.

As someone who chose ClojureScript over many of the other compile-to-JS languages without using Clojure on the server, I disagree. Especially if ClojureScript could become more attractive than (or at least have a real solid standing amongst) Elm/PureScript/etc., I could see that being a big boon to Clojure development as well.

With CLJS on Node booting up as fast as it does, I can envision a world where CLJS is vastly more popular than CLJ, since it's able to deliver a class of experience prohibited by the slow JVM startup. All the other common criticisms are shared by both CLJ and CLJS, so there's a chance that, eventually, CLJ only has the startup time as a knock against it, and CLJS has no such shortcomings. (Ignoring, of course, "Lisp…

There are also things that clj has and cljs doesn't have and this is the top-class virtual machine. lots of us really appreciate JVM, and are not impressed at all by node, and especially its ecosystem.

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

#248

I think Clojurescript might be the thing. With advances in the Google Closure compiler, it's getting better and better. And the front end developer tools and libraries in Clojurescript are _the best_ out there. The holy grail for javascript exists in Clojurescript. Until then I'll keep making my Javascript env look like Clojurescript. With janky react devcards, Immutable.js, and react-redux.

I hear this a lot from the clojure community... but I think it's a missed attempt to pivot off the JVM and have clojure be useful for more people on a more popular platform. Missed? Yes. Pick a thing. Be excellent at it. What is clojurescript excellent at? Its a nice language, with not very nice tooling, that is hard to maintain and significantly different from the existing javascript code base you already have, with…

> Clojure has pride of place as the best dynamic language in that space.

Yes. The only other JVM dynamic language in your list is Apache Groovy. Last month it released version "2.5-alpha-1" with Groovy's very first macro facility, something Clojure's been doing since its inception. And I can't imagine how long a version tagged "alpha-1" will take to be suitable for actual use!

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

#249
post #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 sti…

"even Rich himself has been converted"

I'd love to know where you learned this, or why you believe this. I'd be very interested to hear what he had to say about the change of heart.

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

#250

Earlier quoted context omitted.

As someone who chose ClojureScript over many of the other compile-to-JS languages without using Clojure on the server, I disagree. Especially if ClojureScript could become more attractive than (or at least have a real solid standing amongst) Elm/PureScript/etc., I could see that being a big boon to Clojure development as well.

With CLJS on Node booting up as fast as it does, I can envision a world where CLJS is vastly more popular than CLJ, since it's able to deliver a class of experience prohibited by the slow JVM startup. All the other common criticisms are shared by both CLJ and CLJS, so there's a chance that, eventually, CLJ only has the startup time as a knock against it, and CLJS has no such shortcomings. (Ignoring, of course, "Lisp…

So nice to hear someone else say this, and I feel the same about CLJS.

And yeah WASM is looking pretty promising (threads/gc/efficiency), and a CLJ like language that targets it directly would be so interesting for the very long term future.

Post reply on HN