4 ms·
Clojure has the easiest learning curve I've ever experienced, it took 3 days to bring my co-founder (a Scala dev) up to speed. I am also a former scala dev, I f
by dustingetz 9y ago
Clojure has the easiest learning curve I've ever experienced, it took 3 days to bring my co-founder (a Scala dev) up to speed. I am also a former scala dev, I flatMapped that shit, etc. That Scala coolaid tasted far better going down as a starry eyed 20-something than it did on the way back up ... Scala's own source code is incomprehensible, let alone the emergent monstrosities built by well meaning humans that aren't in the top 1000 scala experts on the planet... Scala, fundamentally, simply doesn't make any sense at all, it was a bad idea, you can't fuse OOP and FP without violent and polarized flamewars and fracturing the community into incompatible sects. The experiment failed.
- dsabanin 9y agoI think what has failed is in fact Clojure's experiment of doing FP without a type system, now that they have to bolt it on with runtime type checking. OOP + FP is actually doing quite well, look at Swift, ReasonML (essentially OCaml, which is also doing fine by itself).
- grzm 9y ago> "now that they have to bolt it on with runtime type checking." I think that's definitely in the eye of the beholder. The overwhelming opinion I've heard from those in the community is that they greatly prefer having the option, but wouldn't want it required. And that's exactly what spec provides. The language isn't perfect (and honestly, what language is, for every purpose?) but calling it a failure is quite hyperbolic.
- virtualwhys 9y ago> but calling it a failure is quite hyperbolic. as is claiming that Scala is a failure. If adoption and widespread use across industries (big data, hardware, server, web, etc.) is any indicator of success, Scala is just that. The reality is that both languages are excellent; if you work in either for the day job you're fortunate -- there are far worse languages out there.
- grzm 9y ago> "as is claiming that Scala is a failure." Agreed, and I admit I didn't see this as a response to 'dustingetz' equally hyperbolic criticism of Scala. Answering hyperbole with more hyperbole is rarely a way forward for constructive discussion.
- dustingetz 9y agoScala's purpose as stated by Odersky is a research experiment in fusing OOP and FP. That experiment has clearly (to me at least) failed. Everyone who gets to be any good at Scala eventually migrates to Haskell or Clojure, because both hit the high notes of functional programming with a vastly simpler model and better outcomes. Scala is a great gateway drug to FP because it is easy for enterprise Java developers to hit the ground running, but java devs don't write good scala code so we start to see the ecosystem fracture into sects, like C++ and we all know how that turned out.
- virtualwhys 9y ago> Scala's purpose as stated by Odersky is a research experiment in fusing OOP and FP. It's odd that across so many industries companies would adopt an experimental language; it's almost as if Scala was a stable, production ready language, a successful one even, and that some people have opinions, well founded or not. > Everyone who gets to be any good at Scala eventually migrates to Haskell or Clojure The number of Scala developers migrating to Haskell far exceeds that of those migrating to Clojure, probably by a factor of 100X. > like C++ and we all know how that turned out. a resounding success? "There are only two kinds of languages: the ones people complain about and the ones nobody uses." Which of the FP languages at hand do people complain about?[1] [1] https://trends.google.com/trends/explore?q=%2Fm%2F091hdj,%2Fm%2F03yb8hb,%2Fm%2F03j_q https://trends.google.com/trends/explore?q=%2Fm%2F091hdj,%2F...
- justinhj 9y agoFailed how? Seems to be thriving for many use cases. I’m a fan lisps and Clojure especially but it didn’t scale to large teams and problems the way Scala does