It may seem that way because precisely that is the case. Java IS a more clean language than C++. |
That is true, however Java is not that clean as it seems right from the start. Actually it has its own set of sharp edges:
- nulls
- static class members
- primitive types, boxing and unboxing
- no operating overloading, but a special + operator
- generic type erasure
- special syntax for array access []; arrays are not collections
- special syntax for creating arrays inherited from C
- type variance of arrays is different than that of collections
- too many kinds of constructors (c'mon, why have three if one is enough?)
- private is only class-private and cannot be made instance-private
- probably some more I forgot now
Scala fixes most of these shortcomings; and if you look only at the OOP side of this language it is much simpler and powerful than either Java or C# (I don't talk about the outstanding FP support that you won't find in Java, C# or C++ at all).
It's a lazy man's language of choice, but I admit it has it's uses. |
Well, actually laziness is a very important feature of a good programmer.