Ebook: Programming Scala: Scalability = Functional Programming + Objects (Animal Guide)
Author: Dean Wampler Alex Payne
- Genre: Biology // Zoology
- Series: Animal Guide
- Year: 2009
- Publisher: O'Reilly Media
- Edition: 1
- Language: English
- pdf
The first few chapters are breathtakingly fast. Some of the middle chapters are kind of slow, but are still worthwhile. Scala is a fairly large language (unlike, say, Scheme or C), and the book is a fairly dense 400 pages. I found it helpful to read slowly and take notes.
As for Scala itself, I really like it! Scala is a nice mix of Java, C#, Erlang, Haskell, Ruby, and Smalltalk. You can treat it as a "better Java", or you can treat it as a more enterprise-friendly Haskell. Either way, it's exactly what I was looking for: a language with reasonable syntax, an ML type system, and a decent set of real world libraries. I know that the Haskell community is working hard in this direction as well. I think Scala stands a very good chance at being a work-friendly, programmer-friendly language.
I'm a little afraid that its type system may be too large and too complex for a lot of programmers. To be fair, I think that C++ is too large and complex for most programmers too. I'm also afraid of subsetting--i.e. the situation where every team picks a different subset of the language to use. This is very common in multiparadigmatic languages like C++. On the other hand, some multiparadigmatic languages like Python seem to avoid this problem.
Nonetheless, there's a lot to learn in Scala--covariance, contravariance, parameterized types, abstract types, self-type declarations, lazy values, by-name parameters, DSL-friendly abbreviations, path dependent types, oh my! And there's more! I ended up with 50 pages worth of notes.
I'm pretty sold on Scala. Now, all I need is a startup to hire me to write it ;)
As for Scala itself, I really like it! Scala is a nice mix of Java, C#, Erlang, Haskell, Ruby, and Smalltalk. You can treat it as a "better Java", or you can treat it as a more enterprise-friendly Haskell. Either way, it's exactly what I was looking for: a language with reasonable syntax, an ML type system, and a decent set of real world libraries. I know that the Haskell community is working hard in this direction as well. I think Scala stands a very good chance at being a work-friendly, programmer-friendly language.
I'm a little afraid that its type system may be too large and too complex for a lot of programmers. To be fair, I think that C++ is too large and complex for most programmers too. I'm also afraid of subsetting--i.e. the situation where every team picks a different subset of the language to use. This is very common in multiparadigmatic languages like C++. On the other hand, some multiparadigmatic languages like Python seem to avoid this problem.
Nonetheless, there's a lot to learn in Scala--covariance, contravariance, parameterized types, abstract types, self-type declarations, lazy values, by-name parameters, DSL-friendly abbreviations, path dependent types, oh my! And there's more! I ended up with 50 pages worth of notes.
I'm pretty sold on Scala. Now, all I need is a startup to hire me to write it ;)
Download the book Programming Scala: Scalability = Functional Programming + Objects (Animal Guide) for free or read online
Continue reading on any device:
Last viewed books
Related books
{related-news}
Comments (0)