ITがプログラミング言語の特集をやっている。すばらしいことだと思う。ライターを見つけてくるところがますますすばらしい。今回はScalaなのだが、最後のここがちょっと不満。いや、解説ではなくて言語に。これらを踏まえてScalaが依然として静的型付け言語であるということを思い出してほしい。「動的言語の特徴のように見える物」が、実はそうでもないことがみえてくるのではないだろうか。実際Scalaを学んでいくと「型安全性と実行効率を引き換えに記述性と柔軟性を手に入れる」という「動的言語の常識」が覆されていくような感覚すら覚えるほどだ。実際にはRubyのプログラムとScalaのプログラムはこのようになっている。これはDuckTypingの「匂い」がする。この二つのプログラムには重大な違いがある。それはScala版が簡潔ではないことだ。conformanceな型を持つ可能性だってあるわけだし。明示的な指定では、複雑になれば発狂しそうになるだろう。この明示性はDuckTypingの思想とは対立する。推論してほしいものだ。実際にOCamlなどでは可能なのだから。どこまで複雑なものまで可能かは知らないけど。NHK取材1.9のリリースに関連して、もう一度松江局でとりあげたいとのお話。詰まっているので、「年明けてからにしてください」とお願いした。