- About Scala
- In the Enterprise
- Scala Community
- Language Research
- In the Press
- The Scala Team
- Scala's Prehistory
- Contact Us
- Learning Scala
- Tour of Scala
- Scala API
- Setup & Getting Started
- Programming Guides
- Other Guides
- Code Examples
- Scala Developers
It seems to me, and possibly others, that Scala is growing whiskers.
Scala needs shaving .. with Occam's razor that is.
There is a growing indistinction in Scala between traits and classes,
especially given recent debate on this list (and LAMP research) about
traits evolving to have constructors.
That is definitely whisker material deserving of a good Occam.
Scala has done wonders to render readable programs to lesser keystrokes to
type and characters to read for authors and readers alike.
There is now little syntactic difference between vals and defs of zero
The meanings of val and def are now so overlapping to the point of reaching
diminishing returns for the Scala programmer's investment in time in
deciding which to use.
Having reached terminal velocity, an optimizing (Scala) compiler could well
reduce defs of zero arguments to vals anyway.
It's time to apply Occam and deprecate vals (in favour of defs) forthwith.
[To keep this post short, let's stop there for now. Those in favour of the
razor, please add to these arguments.]
On a linear scale, Java is to C++ as Scala is to Java.
Unless it is to be just an academic fad, Scala needs to achieve an
exponential leap (from Java).
Scala attempts to meld functional & OO idioms; of course there will be
blurring in any attempt to taxonimize classes, traits, (singleton) objects
etc.; taxonomy is never perfect in any domain; so just enjoy growing a beard.
There are many ways to achieve ends in Fortran, C++ and Java. Scala is no
different and nor should be.
[These arguments beg more substance from the devil & his advocates.]
The above is just my humble opinion so, please, no need for flames, just
constructive debate [from both sides].
Bests to all,