A little less than two weeks ago I came across the Scala programming language. Since then I’ve been intensely learning the language and becoming familiar with the Scala way of doing things. I have never had this much fun on the JVM before. The language was relatively easy to learn and I was productive in a matter of days. I must confess though that I have done programming in Scheme, Lisp, Haskell and OCaml before so all of the functional programming ideas and techniques were not new to me, it was just in a different syntax.
Anyway, as a first project in the language I decided to implement a command-line tic-tac-toe game. So in the coming days I will explain its design and implementation, and demonstrate many features of the language that really helped to make the game a joy to program.
In the meantime, here are some resources I used while learning the language:
- http://www.scala-lang.org/ – The official website for Scala. It contains great documentation and is also the place you go to download the tools needed to use the language.
- The Programming in Scala book – A very well written book on Scala by Martin Odersky et al. It gets you up to speed on the language in no time.
- The #scala IRC channel on freenode – When I encountered difficulties translating my ideas into code the community was really helpful in moving me towards a solution. They were very friendly and eager to assist. I love the Scala community.