Home > Java > Java, Scala, complexity and aardvarks

Java, Scala, complexity and aardvarks

This week saw another flame war from some of the Scala crowd. This time, it was toward Stephen Colebourne, the man behind Joda time.

The article in question can be found here, and Stephen’s answer here.

To be frank, I tend to agree to Stephen’s predicat but for very different reasons. Now, if you’re a Scala user, there are basically 2 options:

  • either you react like some did before, telling me I’m too stupid or too lazy to really learn the language and stop reading at this point. In this case, I’m afraid there’s nothing I can say apart from ‘Please, don’t harm me’ because it has a feeling of religion war coming from supposedly scientific-minded people.
  • Or you can read on and we’ll debate like educated people.

Truth is, I’m interested in Scala. I try to program in Scala for personal projects. So far, I’ve gotten the hold on traits (what I would do to have them in Java) and closures and I’ve understood some of the generics concepts (so long as it’s not too complex). I plan on diving in the Collections API to better use closures next.

I think that Scala, like EJB2, was designed by smart, even brilliant people, but with a different experience than mine.

In real life, projects are full of developpers of heterogeneous levels: good developers, average developers and bad developers. And please don’t blame it on the HR department, the CEO or the global strategy of the company: it’s just Gaussian distribution, just like in any population.

In effect, that makes Scala a no-go in most contexts. Take Java as an example. What did it make it so successful, even with all its lackings? The compile-once, run-everywhere motto? Perhaps, but IMHO, the first and foremost reason behind Java success is the change of responsibility in memory management, from developers (like in C/C++) to system administrators. Before, the worse the developer, the higher the probability of a bug in memory management but Java changed all this: it’s not perfect, but much simpler.

Like Freddy Mallet, I’m sure a technology has to be simple to become mainstream and Scala has not taken this road. As a consequence, it’s fated to stay in a niche market… Stating this should raise no reactions from anybody, it’s just a fact.

Note: aardvarks will be a point for a future blog post.

Send to Kindle
Categories: Java Tags: ,
  1. ScalaLiker
    December 6th, 2011 at 08:43 | #1

    As some one said, “The real world is complex, we would not expect a simple tool can deal with everything”

  2. Steve
    December 6th, 2011 at 23:34 | #2

    I wonder what you intention is. The first to sentences seem to be quite far away from the facts after reading Colebourne’s insults and his arrogant I-have-never-used-Scala-but-let-me-tell-you-that-I-know-the-language-better-than-you behavior.

    The rest is the “Java-Joe can’t understand it” myth, which was already tiring a decade ago.
    Either you claim that Java developers are just not as good as developers using other languages or you should probably explain how developers can be perfectly productive with more “complex” languages like C#, Python, C++, Haskell, …

  1. No trackbacks yet.