scala vs. LISP

今日、scalaの勉強会に参加した。HHaさんやhasebeanさんらの講義を聴いた。「scala」はイタリア語で梯子という意味らしい。scalaのアプリケーションフレームワークが「Lift」で、梯子より速く登れるエレベータというネーミングだ。なかなかおしゃれではある。ちなみにエスカレータは梯子を上るという意味だ。

最初「スカラ」と聞いたときには数学科であった私には、vector/scalarのscalarのことだろうと思っていた。力ばかりが入って方向が定まらないイメージがある。

scalaを使えるエンジニアは日本には100人もいない、Liftに至っては20人もいないだろうとのことだった。帰ってネットで検索してみたが、情報量では既に200〜1,000人以上はscalaを体験していると思える。

scalaの印象だが、LISPに近い部分も多い。関数型言語であり、READ-EVAL-PRINTループのインタプリタであるからかもしれない。ただ、オブジェクト指向との融合は、LISPよりも確かな進化を感じた。とはいえ、scalaで画面を1つ表示するのに4行が必要だそうだが、InterLispでは (CREATW) のわずか8文字だったことを思い出す。LiftがViewとSnippetを重視するというので、もうすこし簡単には作れるのかもしれない。また後日勉強したい。