Main Page
Viewing old version 7cb6af3ae48e46ba13183ebce0c4ae36786ff2a3; View Current
Why
I find the tour of scala a nice idea, but wanted some more depth and real-world scenarios. I also thought that some comparisons to Java, as a means of justifying the Scala feature, would really demonstrate things more clearly. For introductory material, I really need an answer to the question “how does this make my life easier?”, in addition to a clear explanation and example.
I also thought it would be a bit more helpful to order the tour elements so that things flowed back better, as well as some introductory material that clears up some syntax that I found counter-intuitive the first time.
So, I’m going through each thing and trying to:
- Order them sensibly, so previous topics support future ones
- Create more real-world situations where a feature might be useful and not so many mathematical constructs.
- Comment on my own thoughts as to the utility of the feature.
I’m also a Java programmer by trade, so a lot of the “justification” aspects that come to me are in comparison to Java.
The Tour
You should be able to go through these in the order listed, with each building on previous topics. I’ve also linked to the original tour topics.
Basics
- ScalaBasics – this covers some syntactic things that might surprise you, as well as some very basic things about working with Scala (not in the tour)
- UnifiedTypes
- ScalaClasses
- ScalaProperties – not in the official tour
- ScalaPackages
- ScalaTraits
- ScalaGenerics
- ScalaAnnotations
- ScalaOperators
Intermediate
- ScalaFunctions
- PatternMatching
- FunctionCurrying – define a function that has received some of its parameters now, and will get the remainder later.
- CaseClasses – taking switch statements to a useful level.
- SealedClasses – tightening up CaseClasses.
- XmlLiterals
- ForComprehensions – don’t let the name confuse you; this is about Scala’s powerful
forloop construct - TypeBounds
- InnerClasses – you only thought they were basic.
- ImplicitConversions
- TypeDependentClosures – Closures in general discussed here, too.
Advanced
- ImplicitParameters
- TypeVariance
- AbstractTypes – not abstract classes
- ExplcitlyTypedSelfReferences
Not Covered
There’s a few things that aren’t really covered by the tour (other than some basics, that are, at first glance, key to understanding what Scala can do for you.
Last Updated 08/07/2009 at 11:40:52 AM by davec
blog comments powered by Disqus
All Content by David Copeland is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.