Scala vs Clojure

75 views
Skip to first unread message

Jon Harrop

unread,
Mar 27, 2009, 4:20:39 PM3/27/09
to Clojure

Can anyone who has tried both of these languages to a decent degree compare
them in practical terms? In other words, I am not interested in the technical
aspects of the languages themselves (e.g. dynamic vs static typing) but
things like IDE support, tools (lexers and parsers), standard libraries,
books and their quality, existing commercial applications and the commercial
viability of shipping products targeted at their programmers (e.g.
libraries)?

I've never done anything significant on the JVM so I'm interested in picking
one of these two languages and shipping a product for it. I've done a lot of
commercial work with F# over the past 2 years but all Microsoft-related sales
have died this year so I'm looking to diversify...

Many thanks,
--
Dr Jon Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/?e

Rayne

unread,
Mar 28, 2009, 2:51:11 AM3/28/09
to Clojure
I sure hope this topic doesn't start a flamewar.

I've used both languages, with Clojure being used more.

Scala is more mature than Clojure, so you really have to put that in
perspective when comparing the languages. Scala's IDE support is
superior to Clojure's but not for long as all three major IDE's are
having plugins developed for them and I'd say Enclojure is close to
production-ready. As for tools, both languages are doing okay there as
they both have the support of Java libraries. Clojure is more directly
compatible /from/ Java than Scala. Clojure's standard library is
evolving fast and should soon outweigh Scalas. There is a single book
written for Clojure that will ship in a few months. Scala has one book
as well with several being written. But Clojure is only 2 years old!
We know Clojure was used in some hospital software a while back, as
for Scala I can't say.

I like both languages.

I like Clojure better.

Clojure is awesome.

Chas Emerick

unread,
Mar 31, 2009, 11:20:28 AM3/31/09
to clo...@googlegroups.com
We shipped production software built in Scala last year, but likely
will never do so again given clojure. Our primary motivating factor
is the degree of complexity in the Scala, but since you're looking for
"auxiliary" factors:

- clojure has a far richer "ecosystem" -- there's a metric ton of
community-contributed libraries and lots of people moving in very
interesting directions. Maybe I missed them, or they've sprung up
since I moved over to clojure last summer, but I've not seen a lot of
scala libraries floating around.

- clojure's community is, in general, more friendly, more helpful.
There are certainly lots of pleasant people in the scala world, too,
but I've yet to see a pissing match in #clojure, whereas #scala has
had a number of them (despite the former being more heavily
populated). I attribute this to the attitudes, demeanor, and near-
constant presence of Rich and other "core" contributors.

- The tooling story is roughly equivalent, I think. Neither community
has a home-run effort, but both have lots of promising contenders for
various IDEs.

All of the above is obviously, gratuitously IMHO.

- Chas

Christian Vest Hansen

unread,
Mar 31, 2009, 11:44:13 AM3/31/09
to clo...@googlegroups.com
On Tue, Mar 31, 2009 at 5:20 PM, Chas Emerick <ceme...@snowtide.com> wrote:
>
> We shipped production software built in Scala last year, but likely
> will never do so again given clojure.  Our primary motivating factor
> is the degree of complexity in the Scala, but since you're looking for
> "auxiliary" factors:
>
> - clojure has a far richer "ecosystem" -- there's a metric ton of
> community-contributed libraries and lots of people moving in very
> interesting directions.  Maybe I missed them, or they've sprung up
> since I moved over to clojure last summer, but I've not seen a lot of
> scala libraries floating around.
>
> - clojure's community is, in general, more friendly, more helpful.
> There are certainly lots of pleasant people in the scala world, too,
> but I've yet to see a pissing match in #clojure, whereas #scala has
> had a number of them (despite the former being more heavily
> populated).  I attribute this to the attitudes, demeanor, and near-
> constant presence of Rich and other "core" contributors.

I find myself caught by surprise by these observations, as Scala has
been covered in the media for a longer period of time.

I don't know about the availability of 3'rd party libraries, but the
IRC numbers, as of right now, is certainly correct.

It could be taken to indicate that Clojure has a greater momentum than Scala.
--
Venlig hilsen / Kind regards,
Christian Vest Hansen.

Luc Prefontaine

unread,
Mar 31, 2009, 4:52:10 PM3/31/09
to clo...@googlegroups.com
I was searching for a Java alternative for our medical bus product and looked at Scala during summer 2008.
I found it was too tied to an object model. The lack of a complete macro system was in my view also a short coming.

I concluded that it was not a significant departure from Java. I really wanted an alternative
that shortened the project time line while providing future growth and a better concurrency model.

Looked also at Erlang for better concurrency but found it was too "foreign" to the Java world
and that we would end up coding a lot more.

I then looked at Lisp alternatives running on the JVM and I stepped on Clojure while searching.

We now start all our projects using Clojure and thunk down to Spring/Java when needed.

It's a hell of a combination up to now :)))

In terms of maturity age is not the significant factor. The more complex is the core
of your new language, the bigger it is, the harder it it to get it out and stabilize it.
Clojure has a small footprint/syntax, is extensible easily and can use the existing Java library base
transparently.

Stability wise, Clojure has been conceived by one guy, Rich.
There is nothing more painful than developing by consensus. Endless discussions,
addition bits by bits of new concepts, twisted solutions, ....

I believe that a single person should lead the way. Listening to other ideas is fine
and integrating the best of them is the way to go but the final decisions have to rest in a single pair of hands
otherwise the product becomes chaotic and points in every directions.


Luc
Luc Préfontaine

Armageddon was yesterday, today we have a real problem...

Berlin Brown

unread,
Mar 31, 2009, 5:06:14 PM3/31/09
to Clojure


On Mar 31, 4:52 pm, Luc Prefontaine <lprefonta...@softaddicts.ca>
wrote:
I have used both and used Clojure way more. So my knowledge of Scala
is lacking. When I look at both of them, these are the things that
come to mind. (Note: I could be completely off).

1. Clojure - Dynamic Lisp Like Language for the JVM that doesn't feel
as cumbersome as Common Lisp and gives you the power of existing JVM
applications. Quickly allows you to get practical work done.

2. Scala - Rigid Static/Strong typed language for the JVM that also
allows for an Imperative style of object oriented programming...and
gives you the power for existing JVM applications.

I am working on a project to use both languages, I will tell you how
that goes.

Personally, I feel you can use both. I have this idea where you can
use something like Scala for your 'base' libraries, your back-end
systems and use something like Clojure for more front-end code where
you are changing the code more often.

Antony Blakey

unread,
Mar 31, 2009, 6:45:56 PM3/31/09
to clo...@googlegroups.com

On 28/03/2009, at 5:21 PM, Rayne wrote:

> I'd say Enclojure is close to
> production-ready.

From my playing with it, plus the list of things not yet done, I
don't think this is true. The IntelliJ clojure support seems more
advanced right now, and I'm starting to use that in production. IMO
the new NetBeans 6.7 L&F on OSX now looks better than any other java
IDE on OSX (but enclojure doesn't run on it). If enclojure did
formatting and ran on 6.7 I'd probably choose that for Clojure
development, although another consideration is that if you want to do
mixed Scala/Clojure development, IntelliJ's Scala support has
considerably loftier goals than Eclipse/NetBeans e.g. first-class
support for the language model wrt refactoring etc.

Antony Blakey
--------------------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

Lack of will power has caused more failure than lack of intelligence
or ability.
-- Flower A. Newhouse

e

unread,
Mar 31, 2009, 7:31:18 PM3/31/09
to clo...@googlegroups.com
but the InteliJ IDE isn't free, is it?

Antony Blakey

unread,
Mar 31, 2009, 8:34:02 PM3/31/09
to clo...@googlegroups.com

On 01/04/2009, at 10:01 AM, e wrote:

> but the InteliJ IDE isn't free, is it?

So what? I'm a professional developer. I make money using these tools.
The money people pay for IntelliJ is one reason that the Scala support
in IntelliJ is more ambitious and why the IntelliJ Clojure plugin is
more advanced. I'd happily pay for NetBeans or Eclipse, and/or support
for Clojure and Scala. I buy a lot of software, and when I use good O/
S software, I donate $ to support it e.g. Firebug.

IntelliJ is cheap for a personal license (USD$249). Even VisualWorks
Smalltalk, for which I pay 5% of my gross billings, is good deal
because the productivity benefits pay for themselves.

Antony Blakey


-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

He who would make his own liberty secure, must guard even his enemy
from repression.
-- Thomas Paine


e

unread,
Mar 31, 2009, 10:21:32 PM3/31/09
to clo...@googlegroups.com
just wanted to know because it didn't sound like it from the comparison being made.

Rayne

unread,
Mar 31, 2009, 10:56:57 PM3/31/09
to Clojure
Unless they slowed down, the pace in which Enclojure was improving
would put me dead on. I personally use IntelliJ IDEA. But who says I
paid for it?

Antony Blakey

unread,
Mar 31, 2009, 11:08:24 PM3/31/09
to clo...@googlegroups.com

On 01/04/2009, at 1:26 PM, Rayne wrote:

>
> Unless they slowed down, the pace in which Enclojure was improving
> would put me dead on.

Neither the site nor the mailing list shows a lot of activity - it's
not dead, but it is taking a long time compared to the IntelliJ
support, which was my point.

> I personally use IntelliJ IDEA. But who says I
> paid for it?

I'm not sure what point you are making.

Antony Blakey
--------------------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

Don't anthropomorphize computers. They hate that.


Reply all
Reply to author
Forward
0 new messages