New page: wikipedia::Scala_(programming_language) is a language capable to run on the Java virtual machine. It merges various functional languages concepts with object oritentation qui...
New page
[[Scala|wikipedia::Scala_(programming_language)]] is a language capable to run on the [[Java]] virtual machine. It merges various functional languages concepts with object oritentation quite nicely and cooperates well with existing [[Java]] libraries.
=== [[Scala]] Libraries Rant ===
After being part of the first [[Scala]] unconference just after JavaOne 2008 and publishing a recipe how to write [[NetBeans]] module extensions in [[Scala]], I had given up on [[Scala]] for a longer time.
But as the activity of [http://www.artima.com/scalazine/articles/origins_of_scala.html Artima.com guys] is increasing with forthcomming JavaOne 2009, I dediced to give [[Scala]] one more try in early May 2009. I think I will be able to like it. However I am still far more productive in Java than in Scala, so I rewrote my early May project back to Java.
Also I am still unsure what certain [[API]] promises in [[Scala]] mean for [[BackwardCompatibility]]. Martin Odersky seems to care more about the language design, than its libraries. Thus it will take time and a lot of trial and error for the other of us to find out how to write libraties that support easy [[upgradability]]. Someone will have to document all the [[evolution]] gotchas. So far I know I cannot backward compatibly add methods to traits (which sort of beats all their purpose, imho), but there is going to be more, much more hidden catches.
I am not sure how much you like the language, but I, as libraries [[API]] designer, I feel disgusted looking at core [[Scala]] [[API]]s. Have you seen the
[http://www.scala-lang.org/docu/files/api/index.html scaladoc]
and for example series of [http://www.scala-lang.org/docu/files/api/scala/Product1$object.html Product1], '''2''', '''3''', '''4''', ..., [http://www.scala-lang.org/docu/files/api/scala/Product13$object.html Product13], ... [http://www.scala-lang.org/docu/files/api/scala/Product20$object.html Product20]?
Why has the so called language of future pollute its core libraries with trash like this? All the beauty one could potentially see when looking at the language is gone as soon as one see its libraries.
--[[User:JaroslavTulach|JaroslavTulach]] 14:52, 28 May 2009 (UTC)
<comments/>