InfoQ: Talvez por causa do Scala.Net, parece haver um desejo de comparar o Scala ao F#. De algumas maneiras isto significa comparar programação funcional com orientada a objetos. Você vê desta forma?
Odersky: O Scala e o F# têm muitos aspectos em comum. Ambas são linguagens estaticamente tipadas, linguagens híbridas de funcional/OO sobre uma plataforma estabelecida (a JVM). Ambas inovaram no design de linguagens e algumas inovações são implementações independentes de ideias similares.
Por exemplo, os active patterns (padrões ativos) do F# são parecidos com os extractors do Scala; e os workflows do F# cumprem um papel similar às delimited continuations do Scala. A maior diferença que vejo é que o Scala se posiciona principalmente como uma linguaguem orientada a objetos moderna, em que se pode também fazer programação funcional.
Em contrapartida, vejo que o F# se posiciona como linguagem funcional que também suporta o modelo de objetos do .NET. O F#, contudo, é mais conservador que o Scala em relação à inovação na orientação a objetos. Em termos de medidas como tamanho de suas gramáticas, o Scala é 'menor' que o F#.