Earlier today I finished reading the Programming in Scala book. My review of the book should appear soon in the reviews.com site and the ACM Computing Reviews. Here I outline briefly my view of the Scala language.
Scala combines with care, pragmatism, and gusto object-oriented and functional programming. Only the most die-hard fanatics would fault its support for functional programming, yet Java programmers will initially feel at ease in the language's object-oriented cocoon. By supporting immutable values and actor syntax Scala may also offer us a way to tame the power of multi-core processors. In general, Scala follows Perl’s “the language must serve the programmer” rather than Ada’s “the language must discipline the programmer” philosophy. As a result although it has 10 fewer keywords than Java and 13 less than C++ Scala feels a bit heavy and difficult to master. Perhaps a small comprehensive quick reference card could help in this regard.
The language is a remarkable improvement over many of its predecessors; it’s a language I think worth mastering. I'm particularly impressed by its innovative support for API programming through library-provided domain-specific languages. However, I can’t say I’m completely satisfied with Scala. My immediate reservations from reading the book are the following.
i <- 1 to 10
i in 1 to 10
i <- 1 ... 10
mkStringmethod brings us back to the dark ages of C’s
I've already downloaded the Scala implementation, and I intend to write a substantial project in Scala. After that I hope to have a more comprehensive opinion on it.Read and post comments.
Last modified: Wednesday, July 22, 2009 7:32 pm
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.