3 ms·
"the language designers perhaps could have used a bit more restraint in their design." The problem with that if they would follow your advice it would not be S
by nadam 16y ago
"the language designers perhaps could have used a bit more restraint in their design."
The problem with that if they would follow your advice it would not be Scala anymore. There are dozens of programming languages which used more restraints in their design, but I've chosen Scala.
The reason is that I don't want to use different languages for different tasks unnecessarily. Scala is almost a no-compromise solution: statically typed, fast, concise, supports functional style where I prefer that and supports imperative style where I prefer that.
I've been programming in Java for almost 10 years, and it was a no-brainer for me to switch to scala. This is the most important production language for me right now.
The only drawback is that it is not for beginners. It is for mature programmers. A beginner will be annoyed by the lot of information this book contains. But after lots of years of programming let's say in Java all the features in the language feels as a bless from god.
By the way the languae is not particularly complicated. Its language specification is someting like 200 pages while Java's language specification is something like 600 pages. The BNF syntax description of Scala is smaller than Java's. It contains fewer keywords. Scala is not more complicated than Java, rather it is deeper, and feel more complicated (espceially in the beginning.)
- jules 16y agoThe size of a specification does not correlate strongly with it's mental complexity. For example what do the boolean formulas (a <=> b) => (c <=> d), and a & b & c & d & e & f mean? Or I could give you a specification of core Lisp in half a page. Does that mean that Java is 1200x more complicated? Certainly not. Scala is definitely more mentally complicated than Java, and on the bright side this makes it much more powerful too.