4 ms·
> want some immutable data structures and functions operating on them. Clojure has that for you. plus its jvm which means for your desktop use cases it works.
by dzonga 1y ago
> want some immutable data structures and functions operating on them.
Clojure has that for you. plus its jvm which means for your desktop use cases it works. hell with graalvm can be ported to native.
- jacquesm 1y agoI used to think that Clojure was going to be the first FP language that was going to go mainstream but it seems to have fizzled. What went wrong?
- skydhash 1y agoFP language is very hard on novice programmers. You can write thousands of lines of bad javascript/java/python code, but you won’t write ten in FP without the whole thing blowing up. And then there’s the whole evaluation instead of instructions. With FP, you’re always thinking recursively. With imperative, you can coast on a line by line understanding.
- sodapopcan 1y agoIn my experience it's still very possible to write many, many lines lines or utterly shit FP code, but I know what you're saying.
- dzonga 1y agoyeah - without an easy ramp up for beginners most languages / frameworks die. I wish most language / framework designers knew that part. again - another point why not hiring junior developers cz A.I or outsourcing those will cause catastrophic effects in the future.
- gf000 1y ago> What went wrong? Well, we have FP at home. It just got ingrained into pretty much every mainstream language, and most [1] of the wins can be had even when it's applied to certain parts of the code base only. Like, Java has immutable data classes (records), ADTs with pattern matching, etc. As much as I like Clojure, I just don't think Lisps can ever become too mainstream, their readability simply repels too many people (and even though I am okay with reading it, I do think it's less readable than an equivalent Java-style code would be). [1]: I would even argue that a properly mixed pure and (locally) side-effecting code is the happy ground, as they strengthen each other
- mercer 1y agoin some ways Elixir is a child of Clojure! > JOSE: Yeah, so what happened is that it was the old concurrency story in which the Clojure audience is going to be really, really familiar. I’ve learned a lot also from Clojure because, at the time I was thinking about Elixir, Clojure was already around. I like to say it’s one of the top three influences in Elixir, but anyway it tells this whole story about concurrency, right? https://www.cognitect.com/cognicast/120 https://www.cognitect.com/cognicast/120
- cultofmetatron 1y agoI work with elixir daily and I would concur. elixir's semantics line up nearly 1:1 with the clojure code I used to write a few years ago. Its basically if you replaced the lisp brackets with ruby like syntax. The end result is a language that is much easier to read and write on the daily with the disadvantage of making macros more difficult. I would argue that it should be difficult since you should avoid using it until absolutely necessary. Lisps on the other hand, practically beg you to use macros as the entire language is optimized for their use.