I don't need your civil war

Does Scala deserve a defense?

Hartmut Schlosser
scala-war1

Why can’t there be peace between Scala haters and Scala lovers? Hartmut Schlosser weighs in with his take on the rationale behind programming language battles.

 

It’s always refreshing to see cool and rational
techies dropping their poker faces and exposing the true passions
that simmer beneath. Case in point: When it comes to the defense of
a cherished tool, whether that be Eclipse, IntelliJ or NetBeans,
tempers often run high.

Evangelists can find themselves drawn into charged
duels when it comes to promoting “their” solution of choice – from
Spring versus Java EE, to OSGi versus Jigsaw, and DSLs versus ULM.
And when it comes to arguing which programming language rules them
all – be it Java, JavaScript, PHP, Darts, Go, C #, Clojure, Groovy,
or Scala- all reasoned, factual arguments can go out of the
window.

Perhaps we should take a note from sociologist Pierre
Bourdieu, who brilliant surmised in “Distinction: A Social Critique
of the Judgement of Taste” how seemingly genuine personal traits
such as gestures, pronunciation, aesthetic taste, eating habits or
preferred music serve to reinforce social groups, to the field of
IT.

The betting would be that many of those offering
seemingly “objective” arguments for the use of a technology are
often hiding “subjective” attempts to exclude something or someone.
This would go a long way to explain all those negative blog posts
slating a competing technology, and why there are so many Scala
hate posts flying around.

Scala has just turned ten  – and, over the past
decade, Martin Odersky’s programming language  has become one
of the most important JVM languages ​​behind Java, along with
Groovy and Clojure. The success of Scala is remarkable, and the
number of Scala projects productively employed in the industry only
continues to grow.

Do you remember?

There was a good deal of euphoria about Scala in its
early years – finally, innovation had returned to the JVM platform!
Scala was, to us Java people, a language that was envied by
adherents of other platforms (weren’t PHP Traits inspired by
Scala?).

In the midst of this Scala hype though, obviously
there were also plenty of critics – people who didn’t especially
like the often broken backward compatibility, and the less
convincing tooling – certainly legitimate points,  which have
been much improved upon today.

Emotionally, the debate about Scala started no later
than 2011, when Stephen Colebourne used the withdrawal of
enterprise social  network provider Yammer from Scala to drive
a real campaign against the language.

Since then, blog posts weighing up the relative pros
and cons of Scala pop up frequently. Nikita Ivanov (Grid Grain)
wrote one recent example “In
Defense of Scala
“, chiefly in response to a recent post by

Bozhidar Bozhanov
titled “I
Do Not Like Scala
”, which railed against the steep learning
curve, cryptic syntax, and slow compilation of the language, among
other things.

In his opinion, the poor quality of the SBT build
tools and the Scalaz framework have contributed to the negative
experience of many Scala newbies. Moreover, the Spary.io project
wasn’t an example of the good engineering that one is accustomed to
with Scala itself and in projects such as Scala test, Akka and
Shapeless.

In defense of Scala

Well, this “defense” is not very convincing, mainly
because it attributes the supposed “bad feeling towards Scala” on
to relatively minor side projects and does not otherwise entertain
Bozhanov’s points.

The real question however is answered aptly by Ivanov
in his follow-up post  “In
Defense of Scala, part 2
“. One commenter raised this
point: “Does Scala need a defense at all?” No, says Ivanov. Scala
needs no defense! Scala is still a brilliant technology that speaks
for itself, and one of the biggest enrichments to the JVM in many
years.

And, the really amazing thing is probably not the
number of critical blog posts about Scala – other new languages
​​have to deal with similar phenomena after all (see
Language
criticism
by Clojure developer Alex
Miller)
. As a neutral observer, one
wonders just why so many friends of Scala feel the need to make
unwarranted apologies for it, again and again.

Scala in 2014 and beyond

Scala has left its days of hype behind and
professionalized with the Typesafe Stack. In the Technology Radar
by ThoughtWorks, Scala is now in the highest category for languages
to “Adopt”.

The language’s cultural profile is not as a Java
replacement for everyone, but as a highly-scalable language which
provides a great complement to the Java technology stack. Or at
least that’s how Spring founder Rod Johnson, who, since 2012, has
sat in the board of directors of the Scala company Typesafe,
characterized the language at Scala Days last year.

According to Johnson, in five years Scala will have
found its niche, and will mainly be used in traditional enterprise
apps, often in conjunction with Java, as well as in
high-performance consumer apps à la Twitter. What Scala won’t find
however is a level of adoption comparable to Java, with its
millions of users.

Johnson’s recipe for Scala success for better
integrating it into the mainstream was for it to become more
integrated into the Java ecosystem, and to slow the pace of
innovation in terms of new semantic extensions in favor of backward
compatibility, compiler improvements and tooling expansion. More
pragmatism, a greater focus on real-world problems and a more
welcoming attitude towards Scala newbies is what’s required.

These are the screws Scala followers need to readjust
to convince the wider community of Scala’s benefits – on both a
technological and emotional level. What’s not required are any more
all-guns-blazing blog posts rising to its defence.

This is a translation of an article which was
originally published in German on JAXenter.de

Image by Chris Gill

Author
Hartmut Schlosser

Hartmut Schlosser

All Posts by Hartmut Schlosser

Harmut Schlosser is the editor and online coordinator for Software & Support Media’s portals JAXenter.de, Windows Developer and PHP Magazin. He is a specialist in Java Enterprise-Technologies, Eclipse & ALM, Android and Business Technology. Before working at S&S Media he studied Music, Information Studies and French anthropology.
Comments
comments powered by Disqus