I have often been quite critical about what needs to be done in Scala, but I’m very happy with this announcement.
A few minor things, though:
I really hope that Scala adopts a sane versioning scheme in the future. “We reserve the major number for breaking changes” doesn’t really instill confidence from a business perspective, so I’d really be happy if we could get rid of that after that breaking change.
I think the plans regarding the collection library go into the right direction, but are only an evolutionary step. In my opinion, and given Scala’s expressiveness we should be able to achieve a higher level of abstraction which doesn’t lock users of similar “bulk operation” libraries into incompatible silos (-> Collection API, Slick, Rx, Spark, .. all have a similar, incompatible API).
I wonder whether it makes sense to separate work on the library/language into different time slices, especially for open-source contributors. Not everyone who can work on the standard library can/wants to work on the compiler (and the other way around). This feels like an unnecessary blocking in the proposed process.
I really hope that Scala adopts a sane versioning scheme in the future. “We reserve the major number for breaking changes” doesn’t really instill confidence from a business perspective, so I’d really be happy if we could get rid of that after that breaking change.
Huh? Isn’t that what a major version number is supposed to mean? “This version of scala will be called 2.13 if we can figure out how to do the changes we want in a backwards-compatible way, and 3.0 if not” seems like the correct policy, and similar to perl/python/ruby/C#. Java’s version convention is all over the place (and this doesn’t seem to have impeded adoption).
I wonder whether it makes sense to separate work on the library/language into different time slices, especially for open-source contributors. Not everyone who can work on the standard library can/wants to work on the compiler (and the other way around). This feels like an unnecessary blocking in the proposed process.
Parts of what was the standard library have already been carved out, e.g. scala-parser-combinators is now on a different release schedule from the compiler. I think/hope more of this will happen in the future, and the “standard library” in terms of scala-library.jar will become the small kernel that really does need to be kept in sync with the compiler.
I have often been quite critical about what needs to be done in Scala, but I’m very happy with this announcement.
A few minor things, though:
I really hope that Scala adopts a sane versioning scheme in the future. “We reserve the major number for breaking changes” doesn’t really instill confidence from a business perspective, so I’d really be happy if we could get rid of that after that breaking change.
I think the plans regarding the collection library go into the right direction, but are only an evolutionary step. In my opinion, and given Scala’s expressiveness we should be able to achieve a higher level of abstraction which doesn’t lock users of similar “bulk operation” libraries into incompatible silos (-> Collection API, Slick, Rx, Spark, .. all have a similar, incompatible API).
I wonder whether it makes sense to separate work on the library/language into different time slices, especially for open-source contributors. Not everyone who can work on the standard library can/wants to work on the compiler (and the other way around). This feels like an unnecessary blocking in the proposed process.
Huh? Isn’t that what a major version number is supposed to mean? “This version of scala will be called 2.13 if we can figure out how to do the changes we want in a backwards-compatible way, and 3.0 if not” seems like the correct policy, and similar to perl/python/ruby/C#. Java’s version convention is all over the place (and this doesn’t seem to have impeded adoption).
Parts of what was the standard library have already been carved out, e.g. scala-parser-combinators is now on a different release schedule from the compiler. I think/hope more of this will happen in the future, and the “standard library” in terms of scala-library.jar will become the small kernel that really does need to be kept in sync with the compiler.