Comment by dzonga

Comment by dzonga 3 hours ago

5 replies

> 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 2 hours ago

I 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?

  • gf000 3 minutes 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

  • skydhash 2 hours ago

    FP 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.

    • dzonga 3 minutes ago

      yeah - 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.

    • sodapopcan 2 hours ago

      In 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.