Enterprise social network ponders the benefits of Scala

The Scala debate rumbles on

Chris Mayer
Yammer

Yammer’s Coda Hale’s private discussion over his experience of using Scala leaked. Anti-Scala bandwagon jumps on it.

Just as the embers of last week’s flame war between advocates of
Java and Scala appeared to be fading away, the debate was soon
reignited as a leaked email conversation detailed the enterprise
social network Yammer’s early plans to shift
their infrastructure stack away from Scala back into Java.

Coda Hale mentioned in passing last week in a
tweet
that even though Scala was a cool language that they’d be
shifting to Java in the near future. He was asked to clarify his
position by Typesafe CEO Donald Fischer why this was the case in a
private email, which soon found its way onto back onto Twitter and
then Hacker News.

The self-proclaimed ‘Mr Anti-Scala’ Stephen Colebourne, whose
controversial blogpost debating Scala’s worth sparked an
community-wide debate over the language, was
quick to pick up on the email
and used it to back up his
previous argument, stating that this was much more concrete
evidence of Scala not working than his minimal experience with
using it.

Hale’s honest opinions are detailed within the email – which he
soon deleted once it was viral. But in broad terms, he outlines the
reasons for the switch:

  • Complexity: He
    was suprised at how he had to explain some of the simplest tasks to
    new team members picking up Scala for the first
    time.
  • Lack of community practice
    awareness:
     The most vocal
    members of the Scala community would often try to reinvent the
    wheel.
     Rather than participate in
    discussion, the internal advice was therefore: “Ignore the
    community entirely.”
  • Lack of best
    practices:
     Without the
    backing of a supportive community, the team didn’t know what  
    constitutes ‘good’ Scala and were often led to fend for
    themselves.
  • Long learning
    times:
     The infancy of the
    language meant that there is hardly any develope with Scala skills
    available. 
    The time taken to get a new developer
    up to speed in Scala is longer than in Java, thus creates
    productivity and time to market. Hale adds ‘Even with services that
    only used Scala libraries, the choice was never between Java and
    Scala; it was between Java and Scala-and-Java.’
  • Tooling
    defects:
     Build Tool SBT
    proved not to be particularly stable: “We ended up moving to Maven,
    Which is not pretty but works.” 
    A wide palette of
    alternative tools like in Java were not
    available.
  • Backward compatibility
    issue:
     Any new version of
    Scala breaks backward compatibility: Developers are encouraged to
    use the latest libraries, source code must be
    revised.
  • Performance
    problems

It wasn’t long before Hale blogged a reply entitled The Rest of The
Story
, setting everyone straight on the private email,
insisting that the views were not that of his
employer.

I wrote that email for a very specific reason: Donald asked me
for my opinion. If someone asks me for an honest opinion of them or
their work, in private, I feel morally compelled to be as honest as
I can with them.

But it’s simplistic and naive to assume that I wrote what I did
in an unguarded moment and that somehow this represents a more
truthful account of what I’d say in public. The most that you can
possibly know about this is the text of my email to Donald and
Martin (Odersky), not the context.

The most salient point of his response was this -

Yes, that email is not what I would say in public. The Scala
community needs another giant blog post about ways in which someone
doesn’t like Scala like I need a hole in my head, and I’d rather
suck a dog’s nose dry than lend a hand to the nerd slapfights on
Hacker News.

It was interesting to see that Colebourne missed the key point
that Hale did say ‘despite the fact we’re moving away from Scala, I
still think it’s one of the most interesting, innovative and
exciting languages I’ve used.’

And here lies the most obvious point within the mire of
anti-Scala ramblings. There is potential for Scala to grow into one
of the most sophisicated languages within the JVM but it isn’t
there yet. Only through ironing out flaws detailed within Hale’s
private email, can it truly suceed and the best way to do this is
to take this positive criticism on-board. Now is the time to answer
the critics with actions. They seemed to have done that by
announcing their migration
to github forthwith
 and it should be interesting to see
what this week-long debate has done to Scala’s standing.

As for those against it, and those seemingly on a vendetta to
destroy it, perhaps looking closer to home is a much better option.
This argument is getting us nowhere.

 

UPDATE – Yammer produced an official
statement
on the entire matter saying that 

Some of our team’s negative experiences with Scala was
misrepresented by some as constituting an official Yammer position
or announcement. It was not; it was a private
email.

This is Yammer’s official position on the subject:
our goal at Yammer is to revolutionize the way modern workers
collaborate and we’ll use whatever tools will allow us to iterate
faster on that goal. If Scala is that tool, we’ll use Scala; if
Java is that tool, we’ll use Java; if INTERCAL is that tool, we’ll
use INTERCAL. (We don’t expect to have to use INTERCAL; don’t
worry.)

Author
Comments
comments powered by Disqus