could you tell a little bit about the required knowlede to read (and of course understand) your book? Should one already be very familiar with Scala to be able to understand everything? Well, obviously some knowledge will be required to understand anything But how much is this? Does the book address ONLY Scala's usage for concurrent programming or is there a general introduction to Scala, too?
As far as prerequisites, here is what I have said in the book:
"My objective in writing this book is to get you up to speed on Scala
so you can use it to write concurrent, scalable, expressive programs.
There is a lot you need to learn to do that, but there is a lot more you
don’t need to know as well. If your objective is to learn everything that
there is to learn about Scala, you will not ﬁnd that in this book. There is
already a book called Programming in Scala [OSV08] by Martin Odersky,
Lex Spoon, and Bill Venners that does a great job of introducing the
language in great depth. What you will see in this book are essential
concepts that you need to know to start using Scala.
I assume you are quite familiar with Java. So, you will not learn basic
concepts of programming from this book. However, I do not assume
you have knowledge of functional programming or the Scala language
itself—you will learn that in this book.
I have written this book for a busy Java developer, so my objective is
to make you comfortable with Scala quickly so you can start building
parts of your application with it really soon. You will see that the con-
cepts are introduced fairly quickly but with lots of examples."
Venkat Subramaniam wrote:There is already a book called Programming in Scala [OSV08] by Martin Odersky, Lex Spoon, and Bill Venners that does a great job of introducing the language in great depth.
I saw "Programming in Scala" a couple of months ago and it looked interesting. I was concerned though that it doesn't cover the current release of Scala and I didn't know how much of the book would no longer be relevant. It sounds like most of it is still worthwhile. Would you comment a little more on this? Are you recommending it as a follow up book for people who read "Programming Scala" and want to get deeper into the language?
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
I already have a copy of Martin's book and although I haven't yet read it completely, I'd say it's definitely worth reading regardless if you are new to programming at all or if you're new to Scala programming. It's very nicely written and explains all the details of Scala. Of course this doesn't mean that Venkat's book is not worth reading, too
Joined: Oct 01, 2001
I appreciate the info, can you speak to how much of Martin's book is still applicable to the new version of Scala?
as you already know I'm new to Scala, too. I've got some experience with Java and other languages and technologies, so I can hopefully judge what the book can give you
As I already wrote Martin's book is really well written and easy to read and follow. Yet there are lots of information which may be completely new to you. General ideas from functional programming languages, Scala features and the mix of object oriented and functional paradigms unique to Scala. I didn't know much more than the very basics of functional programming before I read about Scala thus there are a lot of things I've never heard before. And of course there are other things which are specific to Scala. And you probably have never seen the mix of OOP and functional programming before.
Anyway, most ideas and examples for the said topics above are really general concepts you should be familiar with. Of course there are also details about the exact syntax for language features explained but it's not a "Scala for dummies" book which only teaches you new keywords or symbols I must admit that I don't know details about changes in latest Scala versions but I'm pretty sure that you don't have to focus on a specific Scala version to learn about gneral concepts like closures, higher order function, traits etc.
As you show quite some interest here and already have a lot of experience with Java and others I'm sure you can use the documentation available on the internet to learn about new, small language changes. But to understand the ideas and concepts behind Scala you can't go wrong with Martin's book. Of course, I'm definitely going to check out Venkat's book, too
I don't know if this was helpful information for you. But if you're not yet very familiar with functional programming in general and Scala the book is definitely worth reading without worrying of small language changes between different vesions. As Venkat already pointed out you don't have to use all Scala features at one to move to Scala but I guess you are curious like me and at least you'd like to read about the possibilites Scala offers for you.
If you have any specific questions about the content of the book feel free to ask Besides, I guess almost everyone seriously trying to learn more about Scala has read this book Maybe Venkat has, too?
Joined: Oct 01, 2001
Thanks for the info. Judging by Venkat's comment above -
There is already a book called Programming in Scala [OSV08] by Martin Odersky, Lex Spoon, and Bill Venners that does a great job of introducing the language in great depth.
- I'm pretty sure he's read it.
I'd heard it was a good place for learning more in depth - the philosophy of the language and such - and I appreciate you confirming it.
Yes, Burk, I can absolutely confirm this statement! The author(s) really take care to show not only examples and syntax rules for the Scala language but instead explain clearly the reasoning behind each concept and what advantages you can get from them. They also show which philosophy is better suited in which situation and don't try to convince the reader that you should only the functional paradigms or something like that. If you really want to learn and understand Scala I'm sure you won't be disappointed with Martin Odersky's "beginners bible". From Venkat's information given in the posts here I suppose both books should be seen complementary. It's up to you to decide if you want to know only the most important things about Scala or if you are intrested in all the details.
Joined: Oct 01, 2001
Cool. Looks like another book to add to the reading list.