On Saturday, 6 December 2014 at 09:07:34 UTC, Dmitry Olshansky wrote:
Solved in Scala:
- operator overloading
- properties - that + optional (), a library writer still can enforce () to be used
- only and exactly one class - any number in any combination
- everything class - sort of, it has 'object' clause (just like 'class') that can be thought as a kind of namespace or a singleton if you love OOP.

Not fixed:
 - unsigend types - nothing here unless Java adds support
- pasing by value - there are immutable and value types (e.g. Tuples) but I think they are references behind the scenes - no templates, but you may use AST macros which is even more powerful

Scala tries to make things nicer by providing higher level abstractions but with tiny bit more poking JVM origins still are unpleasantly notable. The whole Function1 .. Function22 trait thing has made me laugh very hard when reading the spec originally :)

Reply via email to