Features Download
From: Lex Spoon <lex-2XCpF38ZseRg9hUCZPvPmw <at> public.gmane.org>
Subject: Re: Why Scala 2.8 instead of Scala 3.0?
Newsgroups: gmane.comp.lang.scala.internals
Date: Monday 19th October 2009 19:32:34 UTC (over 8 years ago)
On Oct 19, 2009, at 2:57 PM, Daniel Sobral wrote:
> Alex, it might confuse people new to Scala, which, I admit, is  
> thankfully most of them. But this situation isn't really new at all  
> with Scala -- the same can be said of previous minor revisions.
> I think providing binary compatibility between minor releases will  
> be a feat in itself worthy of a major revision.

You beat me to it.

> All that notwithstanding, I agree that too much has been said and  
> printed about Scala 2.8 to, at this point, change it to Scala 3.0.

An even stronger argument.

In more detail, it's always been the case that new minor versions  
usually break binary compatibility.  They often break source  
compatibility, but never in any major way that I can remember for the  
2.x series.  Indeed, I think of 2.x as the cutoff where backwards  
compatibility of any kind became very important.  It hasn't been  
perfect, but at least it's close.

That said, it's wonderful news if 2.8 is anywhere close to binary  
compatible with 2.7.  Very nice work!

Stepping back, version numbers are for marketing, and they provide a  
very narrow stream of information you can convey with it.  It's  
important that that information corresponds to the most important  
story you want to tell Scala users.  Especially this is the case for  

I don't know what 3.x should correspond to, but I bet if you guys take  
some time you will come up with something more important to you than  
anything to do with compatibility.  Lots of people will go check out  
what's new with Scala whenever you announce a 3.0 version.  It's also  
very helpful when you bump into people  and have 15 second to explain  
new Scala developments. I bet there's a definition of 3.x that gets  
people pumped even with just 15 seconds to explain it.

By the way, I agree that Java numbering is nearly information free.   
It's not even just the useless leading "1".  1.5 is vastly different  
from 1.4, but it got hte same sized bump as 1.1 through 1.4.  1.6 is  
really minor in comparison, but it got an equal-sized version bump.   
1.7 doesn't make any major change, per se, but it looks likely to  
include piles of new features, much of which come from outside of  
Sun.  On top of it all, "Java 2" is floating around, even though none  
of the versions have a "2" in them.  The most charitable way I can  
defend this situation is that Sun is better off when people can't tell  
the difference between Java versions.  Perhaps Sun's real message is  
that all of Java is about the same.

> Something I learned in academia: there are three kinds of academic  
> reviews: review by name, review by reference and review by value.


CD: 3ms