2 ms·
You don't need proliferation of features to achieve expressiveness though (see Scheme or lambda calculus). Most of the cruft in Scala is due to its support of
by yohanatan 13y ago
You don't need proliferation of features to achieve expressiveness though (see Scheme or lambda calculus).
Most of the cruft in Scala is due to its support of O-O and its attempt to modernize it. Similarly, C++ is a superset of C rather than a complete break from it (and often, in the field, you find people using it as if it were 'C with classes').
Also, the O-O side of Scheme is certainly more powerful than F#'s O-O side; however, overall F# is at least as powerful of a language (and yet it's also much cleaner/internally consistent).
[Also, it takes only one counter-example to disprove 'all those who say that Scala resembles C++ have never worked with either' (which was my original intent here)].