Off the Grid
Greg Osuri

I'm a hacker and an early stage investor interested in solving common problems in the simplest way possible.


I'm also the creator of Sociaholic.com - A better way to post tweets to your facebook

   

Search

April 19th, 7:24pm 12 comments

On "Scala Vs Clojure", What the market thinks.

I was researching on ideal Functional Programming for the Java Platform and narrowed the search to "Clojure" or "Scala". There has been lots of discussion on the topic as to which will be the next big thing (essential replace java), I decided not to go into comparison war here, but recommend Clojure vs Scala in you are interested.

Both are amazing languages, being from the Ruby background, I'm a bit biased towards Clojure but decided to some research on what the talent market's reactions are.

On an Absolute scale, Scala seem to out trend Clojure. Below is the chart to support that claim and also a Simply Hire search returned about 255 new Jobs.

 

 

But then on an Relative Scale, Clojure has shown remarkable growth. Even though the Simply Hired search returned around 107 Jobs, 8000% percent growth in less than an year is hard to ignore.

 

Conclusions. I've decided to go with Clojure cause the syntax proved to be much cleaner and of course has much tighter integration with Java. STM implementation is also genius in Clojure. Bottom line, the decision is yours make and really depends on your preference.

Comments (12)

Apr 19, 2010
Elben Shira said...
I'm not really sure why Scala and Clojure are always discussed side-by-side. Sure, they're both relatively new languages and they are both on the JVM, but Scala and Clojure have vastly different philosophies.

But anyways, this is an interesting trend indeed, though I wouldn't put too much faith on data from indeed.com (indeed.com is awesome, but it is limited in terms of data) as being real market trends.

Apr 19, 2010
Stephan said...
Thanks for linking to http://codemonkeyism.com

This is an interesting topic, we will see how it turns out in the future.

Why are they compared? To some, Java looks to need an successor, both languages have enough momentum to be discussed as one (contrary to Fan for example).

Both are functional languages, both support objects, both favor concurrency. So they are remarkly alike. Only onn the first look they are quite different, as Scala favors C style syntax for OO and FP while Clojure favors Lisp style syntax. But that's both only lipstick.

I also wrote a little bit about the forces behind Java succession, which might be relevant to the Clojure vs. Scala discussion

http://codemonkeyism.com/java-dead/

Cheers
Stephan
http:

Apr 19, 2010
Greg Osuri said...
Mainly because Scala and Clojure are the only likely successors for Java and end of the day only one can prevail :)
Apr 19, 2010
Greg Osuri said...
Welcome Stephen, your post helped me out a lot. Thanks.
Apr 19, 2010
Stephan said...
@Greg: I'm glad it helped you, cheers Stephan
Apr 20, 2010
alexey_r said...
> and of course has much tighter integration with Java

Really? In what way? What can you easily do with Java from Clojure that you can't do in Scala?

Apr 20, 2010
Stephan said...
@alexey: Some things spring to mind:

1. Directly use Clojure collections in Java (without conversion)
2. Use Java methods as functions in Clojure
3. Clojure functions are callable/runnable in Java
4. Clojure list processing understands Java iterators
5. Clojure can "cast" data structures to Java interfaces (like Groovy does)
...
See e.g.

http://codemonkeyism.com/clojure-scala-part-2/

Cheers
Stephan

Apr 20, 2010
torsten said...
For STM and much more on scala have a look on this http://doc.akkasource.org/stm
Apr 20, 2010
Harold said...
Clojure has a compelling story because:

It looks to be the next major Lisp (following mainline LISP/Common Lisp and Scheme, both of which are sort of "stuck" right now). (Then again, plenty of people refuse to use Lisp syntax, and not always because they haven't tried it.)

By providing a good solution to the functional programming "trivial update" problem (http://en.wikipedia.org/wiki/Hash_array_mapped_trie) it can then make a bunch of SMP concurrency solutions practical, not just STM (which tends to fail when you try to bolt it onto imperative programming) but others like its actor like agents.

May 05, 2010
Ruben Berenguel said...
Have you already started with clojure? What are your impressions?

I am deciding "which language next", and have a few to choose from: ruby, scala, clojure, factor, lua and "revisit python" (I didn't code in it for long and almost forgot everything). I want to gather as much information as I can before commiting too much time in a language I don't enjoy!

Ruben

May 05, 2010
Greg Osuri said...
Been trying to check out clojure but ruby keeps pulling me back. I enjoy Ruby and Lisp very much.

Cheers,

Greg
May 06, 2010
Ruben Berenguel said...
I also love Lisp, this one I count as "done" (although I still have a lot to learn).

Ruben

Leave a comment...