Programming

Scala Resources

Martin Odersky gives a Google Tech Talk on Scala

Scala creator Martin Odersky talks about the creative vision behind the language and how it has manifested. He covers the theoretical foundations of Scala and its attempt at OO/Functional unification. This 2006 talk was given before Scala really took off. Unfortunately, the low video res has damaged slide readability, but the audio remains good.

Profound stuff, but the densely packed concepts require close attention. I found I had to rewind in several places to follow it properly

Understanding Type Parameters, Covariance and Contravariance

Parametrizing code with types will be part of almost every future statically typed language. I think any programmer serious about working with static typing needs to have an understanding of the conceptual territory:

  • What does Type Variance mean?
  • Covariance versus Contravariance
  • Definition-site versus Use-site Variance

I recommend Barry Kelly’s post as an nice summary of the issues: http://barrkel.blogspot.com/2006/07/covariance-and-contravariance-in-net.html