Starting with Scala - slides from presentation

I started learning Scala programming language.

Scala rocks! It is statically typed, has functional features, and aims for developer productivity. In Scala you can express what you want with less code than in C#. Scala runs on JVM and any Java code can be called from Scala.

Here are the slides from my presentation at Charles University in Prague:     pdf, powerpoint, examples (.zip)

Some of Scala's clever concepts suprised me:

  • Actors - a totally different thinking about concurrency than you are used to. No threads + shared state + locks. Actors live independently, share no state, and communicate by sending each other messages.
  • Adding new keywords to the language just by writing ordinary methods. Consider adding C#'s using or lock keyword to Scala, without compiler support!
  • Traits - behaviors can be mixed in freely at instatiation time, sort of built-in Strategy design pattern.
  • Absence of the static keyword, turns out it is not needed! Instead of having static state and methods of a class, you declare a singleton instance and call its methods.

If you want to see concrete examples, check out the slides.. it's coding time ;)

Links to get started:
First steps to Scala - a great tutorial.
Twitter on Scala - detailed interview - did you know that Twitter runs on Scala?

Thanks to my friends Joe and Pz for support!

Posted by Martin Konicek on 12:21 AM

3 comments:

mateusz.fiołka said...

Hell, you are right. Scala is a LOT better then C# or Java. It is the most pleasant language I happened to code in. Now I'm moving all my personal projects to Scala. For now it's only JVM but in future it should also work on CLR.

Casper Bang said...

Can you implement something like LINQ in Scala? That would be one very big reason for dumping Java for Scala.

Yardena said...

Casper - not exactly LINQ, but check out Stefan Zeiger's ScalaQuery

Post a Comment