3 ms·
> I think you may also see Clojure overtake Scala for the same reason. The simplicity of Clojure may in the long run overtake Scala although Scala benefits a lo
by Random_ernest 7y ago
> I think you may also see Clojure overtake Scala for the same reason. The simplicity of Clojure may in the long run overtake Scala although Scala benefits a lot from similarity to Java at a superficial level.
Correct me if I'm wrong, but didn't Scala overtake Clojure some years ago as the second most popular language on the JVM (second to Java ofc). From my point of view it rarely happens that these trends reverse.
Scala has the advantage that it allows OOP or Functional Programming, which Clojure does not.
But I do get your point about simplicity. I tried 3 times to learn functional programming by learning Haskell and it never clicked. Then I learned Clojure and who would have thought, functional programming is actually not as hard as Haskell makes it out to be.
- socialdemocrat 7y agoI don't keep up with Scala and Clojure that much since I am not a JVM guy but I was always under the impression that Scala being older has ALWAYS had a lead on Clojure. However the Scala hype seems to have died down years ago while you see more enthusiasm around Clojure. > I tried 3 times to learn functional programming by learning Haskell and it never clicked. LISP (Racket) and Julia helped me most with functional programming. For Haskell type of functional programming I think Swift actually helped me most. But I find many of the same problems with Swift as with Haskell. Understanding type mistakes can be really hard. You struggle much longer with figuring out type problems than you would in a dynamic language. I think advocates of these super statically typed languages completely overestimate the complexity the average human mind is capable of dealing with. Perhaps because the creators are super smart themselves ;-)
- Random_ernest 7y ago> I think advocates of these super statically typed languages completely overestimate the complexity the average human mind is capable of dealing with. Perhaps because the creators are super smart themselves ;-) That is a really good point. From my personal pov languages that take to long to understand and take you >1 week to get productive are rarely useful since you won't be able to afford or train "normal" people to use it. In my company we recently switched from Python + Numba to Python and Clojure. Since even though people never heard of functional programming or Clojure, they can get started on simple things within the first week.
- EdwardDiego 7y agoI work in a JVM shop and I don't see Clojure making much head way. Unlike say, Apache Spark, there's no killer app (datomic notwithstanding) that requires Clojure over Scala. Scala also offer the advantage of static type checking, and a less alien syntax. Yeah, I know Clojure is just s-expressions, but all the brackets don't help its uptake. Oh, and Clojure stack traces make Scala stack traces look positively brief and informative.
- lonelappde 7y agoScala's syntax for (generic) type declarations is super alien, and you can't avoid it because it's a big part of why you'd use Scala in the first place.
- pjmlp 7y ago> Scala has the advantage that it allows OOP or Functional Programming, which Clojure does not. Clojure certainly allows both, that is what protocols and multi-method dispatch are all about. CLOS has Object in the name for a reason.