Scala Train: Get on it, you will miss it or will be too late
Posted by Jai on December 5, 2012
Early morning run to catch the metro, sometimes you find it just leaving the platform or door closing in front of you and you say c/s/f***. Ofcourse you will catch next one but you always think if you have been early few sec or if you have started early. Something similar with the IT world, new programming languages or something new to catch on.
I am just back from two days training “Fast track to Scala” organised be Xebia in association with Typesafe. The fresh thoughts around the same here.
Urs Peter did a good job in organizing the training and getting us familiar with core concepts of the programming language and relevant pointers to take the torch further.
I do remember some time back me starting a bit with initial hello world stuff around scala and lift, covering in the post “Getting started with scala“. But never got a chance to get my hands dirty and to actually use in any of the real projects.
To relate to the title, we did cover lot of hands on exercises during the training around developing application scalatrain, a journey planner application. And yes, the whole idea of getting on it from the exercise itself.
Why scala must try for every java programmer
For every programmer, you need to keep moving on new promising things analyzing all pros and cons around it. For all java programmers, the additional paradigm shift is indeed the functional programming ideas, everything is function.
Lot of nice articles to push further the scala adoption for every java programmer,
- Why Scala?
- Additional benefits over java.
- functional programming
- multiple inheritance, traits.
- Immutability
- high order functions
- concurrency
- less code
- Even java 8 with have it, lamda expressions. better get started with functional programming concepts
- Get started with functional programming concepts
How to get started
Some of the resources to get started with, thanks to Urs Peter for sharing the information.
Scala books:
Programming in Scala (the official book)
- http://www.artima.com/shop/programming_in_scala_2ed
Scala for the impatient
Scala in-depth (advanced)
- http://www.manning.com/suereth/
Tutorials to learn Scala:
Learn to read Scala code
Various tutorials from Twitter
- http://twitter.github.com/scala_school/
Write little robots in Scala and see how they compete
- http://scalatron.github.com/
Additional resources of the Scala.org site:
- http://www.scala-lang.org/node/1305
Great video of 12 year old Shadaj Laddad showing what he had accomplished in Scala:
- http://skillsmatter.com/podcast/scala/making-games-and-solving-puzzles-in-scala
Popular Scala web frameworks:
The official choice:
- http://www.playframework.org/
Liftweb:
Cool lightweight http servers++:
- http://unfiltered.databinder.net/Unfiltered.html
Great template engine that supports a great range of template formats:
- http://scalate.fusesource.org/
Some DSLs:
DSL for hadoop
- https://github.com/nicta/scoobi
- http://nosql.mypopescu.com/post/20002660339/introducing-scoobi-and-scalding-scala-dsls-for-hadoop
Sql:
Apache Camel:
- http://camel.apache.org/scala-dsl.html
Site with all (known) Scala user groups:
- http://www.scala-tribes.org/
What stack to use
As suggested stack by typesafe, Stack
Scala-Akka-Play
The Typesafe Stack includes:
- The Scala programming language and standard library
- The Akka event-driven middleware, with Scala and Java APIs
- The Play framework for developing real-time Web applications, with Scala and Java APIs
Much more to scala
The journey just started, lot to grab and try around.
Happy journey!

