Learning Scala

I was asked today, “let’s say I want to learn Scala.  What web references and/or books would you suggest?”  Here is what we found.

Screen Shot 2014-12-23 at 1.20.47 AM

Codecademy, Code School and Udacity: no Scala

I like Codecademy and Code School for learning languages, however, neither offers Scala.  Udacity also no Scala courses.

Coursera: not currently offered

Coursera has what looks to be a potentially awesome course but there are no courses currently available.  This course was apparently taught by Martin Odersky of École Polytechnique Fédérale de Lausanne who designed the Scala Programming language.  As of this writing, 12/23/2014, the last session ended a month ago, and no new sessions are listed.

Screen Shot 2014-12-23 at 1.15.23 AM

Scala’s Official Site: a starting point

While the docs on Scala’s web site have a tutorial, it may not be be ideal for learning Scala.  The first section after the introduction is “abstract types”, which creates something of a barrier to entry if you are familiar with other languages and want an easy in.  There is also a “hello world” example.  So it looks like Scala is not yet a mainstream language based on this evidence. Learning Scala is not as easy as learning Java, C-family languages, Python, JavaScript, or Ruby.

Screen Shot 2014-12-23 at 1.16.53 AM

Do it yourself

One solid approach to learning a new language is always to do some Project Euler problems.  You can solve some Euler problems as on-liners in Scala as Scala for Project Euler demonstrates.

Screen Shot 2014-12-23 at 1.05.19 AM

Another great site for exploring Scala, with problems and Scala solutions is S-99: Ninety-Nine Scala Problems.

Screen Shot 2014-12-23 at 1.01.05 AM

Twitter For The Win

I think Twitter’s Scala School may be the winner.  This site provides a step-by-step tutorial with commentary, problems, explanations, tips and solutions in Scala.

Screen Shot 2014-12-23 at 1.18.31 AM

Try this first

If you want to code “Hello World” in Scala to get started, you should check out the Blog post “From Zero to Hello World in Scala“.  In this article,  covers 

  • Simple Build Tools (SBT) – this is the tool that generates projects, dependencies, etc. for Scala
  • NetBeans with Scala Plugins – how to integrate Scala with NetBeans
  • Hello World – we’ll create our first Scala source file
  • Scalatest – the recommended unit testing framework for Scala

Let me know how these resources for learning Scala work for you.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s