The Scala/Java flame-war heats up

Bright future for Scala or is it really the next EJB 2?

Chris Mayer

Java heavyweight Steven Colbourne pulls no punches in critical Scala blogpost

Last week, Scala creator Martin Odersky presented Scala 2.10 to the delegates at Devoxx, showing off many of the latest edition’s new features to much applause from the Scala community that had descended upon Antwerp.

Odersky revealed that it would arrive in early 2012 – complete with a new reflection framework, reification, improvements to the Eclipse IDE and promises of faster builds and a new type Dynamic. You can peruse through Odersky’s visions for Scala in the slideshow – but he looked mostly at the challenges of scalability and concurrent programming. After all ‘Scala’ comes from Scalable. Other interesting revelations included the alliance with the new Play! Framework

What’s been most interesting to follow since this presentation is the backlash towards Scala in general. Stephen Colebourne, creator of the Joda Time Library and certainly a prominent member of the Java Community wrote a fairly scathing piece defending his use of phrase ‘Scala reminds me of EJB 2’ dicussing Scala’s attitude towards other languages, decreeing that ‘the Scala community is not tolerant of dissent.’ 
Colebourne was quick to say that it wasn’t a Scala-bash (although it certainly read that way) and that he sees the merits in many languages within the ecosystem but that Scala should be open to criticism and also allow more self-reflection as opposed to arrogance. He dissected the piece up into key areas for discussion – the lack of a module system in Scala, concurrency issues, the community’s attitude, type system, syntax, quality and that EJB 2 statement. All which deserve your full attention to digest Colebourne’s arguments.
Opinion on social networking sites appears to be mixed – some saying Colebourne may have overstepped the mark but making some valid points whilst Scala defenders were quick to point out errors in his thinking. Some pointed out that this squabbling ultimately harms the already fractured relationship between Java and Scala. Alex Blewitt was quick to write his response to the post saying in conclusion that
Scala had a chance, when it was new, to capture the imagination of a large set of Java programmers. It still initially tempts those who want to learn about functional programming aspects and to provide concise code. But by consistently ignoring what makes a language stable over time, and following the same path of bloat that Java had done years before (whilst ignoring Java’s compatibility between releases) has kept Scala in the sidelines of major enterprise projects.
Even Java is providing both modules and lambdas in the next release; and even though it’s been delayed a further year, is still likely to bring functional programming to the Java masses far quicker than Scala will stabilise. It may be too late for Scala to put its house in order before Java overtakes it.
The battlelines are now for all to see after such a high profile Java committer spoke out against their vision and their way of doing business. It seems that this squabbling has no end in sight – with neither side willing to embrace ideals of the other and certainly the flame war will continue for a few months yet. 
Perhaps today’s blogpost may open the eyes of some Scala and Java developers to stop being so tribal and stop bleating on about how good their language is and take onboard ideas from the other, although this seems very unlikely to occur now. 
Inline Feedbacks
View all comments