The moose likes Clojure and the fly likes Clojure vs Scala Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Languages » Clojure
Bookmark "Clojure vs Scala" Watch "Clojure vs Scala" New topic

Clojure vs Scala

Matthew Lucas

Joined: May 24, 2011
Posts: 4

Hi Amit,

As FP seems to be growing in popularity due to the Moore's law problem/multi-core machines becoming the norm, and the only other FP-JVM language around being Scala, I was wondering how you thought the two languages stack up against each other (i.e. are they orthogonal or stepping on each other's toes). I'm a little torn myself, having played with Clojure and it's uber-simple syntax, and then seeing Scala which seems (admittedly with next to no experience) very much the opposite with highly complex syntax/semantics. What do you think their use cases are, and can they co-exist successfully?


Amit Rathore

Joined: May 08, 2011
Posts: 20

Scala does espouse a functional style, but unfortunately core data-structures aren't all immutable. So you have to use libraries that offer immutable ones, and it then becomes a programmer-discipline issue of always using them. In Clojure, there are no other options, so this discipline is enforced for free.

Same thing with the STM system - clojure has one built-in, and thus all state-management functions use it. In Scala, you have to pick a library, and then hope that everyone uses it right, and so on.

These issues are deal-breakers for me - even before getting into Scala's overwhelming syntax. And obviously, Scala doesn't have a macro system.
I agree. Here's the link:
subject: Clojure vs Scala
jQuery in Action, 3rd edition