スクリプト言語と Lightweight Language

それは蔑称なんですかね -ときどきの雑記帳 i戦士篇さんより

LLなんてのはWeb2.0みたいな×× (好きな表現を入れてください :) wordなんじゃないかと思えるのですが。

たしかにそうかもー。むー、浅はかなり、私。

クダンの発言は、単純に元ネタの 凪瀬さんちが ともすると「スクリプト言語スクリプトの事だけやっとき」と取れる内容だったので、脊髄反射で書いております。Javaの領域を浸食しようと血気盛になっている「スクリプト言語」はもう「スクリプト」言語じゃないだろうと。


* * *



スクリプトを書くのに必要な「軽さ」は、果たしてスクリプト以外を書くときにも魅力となるのか?それともそれほど魅力的なモノではないのか?というのが、この一連のエントリの主題じゃないかな、て私はおもっています。

Java は明らかにこの手の軽さを持っていない(持つことにあまり価値を認めていない)のですが、凪瀬さんちの主張としては、この軽さを認めることで、大規模開発に於いては「面倒くささ」を抱え込むことになる。結果として「目先の軽さ」に負けて「総量としての重さ」を引き受けてしまう、「頑張りやさん的 アンチハッカー」にしかならない、と言うものだと思います。本当に怠惰であるなら、目先の楽さにひきずられて、総量として大変になるのは違うだろうと。


軽さ・重さは環境(開発環境や実行環境)込みで判断すべきというのはその通りだと思います。Smalltalk はアノ環境と切り離して評価したら、盲人象を撫でるになってしまいます。JavaIDEとの合わせ技で楽になる..というのを認めないというのは頭が固すぎだと私も思います。

一方で、私が大好きな Squeak ですとか、Paul Graham さんが ハッカーと画家で言っているようなことと、「Javaの静的で重いところが大規模開発にはよいのだよ、ヤマトスクリプト言語の諸君」というのは相反すると思います。私の感情的には同意しかねます*1。で、

スクリプト言語というのはフットワークの軽さが売りで、ちょっとしたアイデアをすぐに形にするには都合がよい。反面、刹那的な代物で、保守性に乏しく、巨大で複雑なシステムを構築する言語としては適さない代物です。

Javaに恋するスクリプト

は、ココで指されているような言語が「スクリプト言語」と呼ばれることにより、文章的な整合性が整いすぎてしまって、実態にそぐわない説得力を発揮してしまっているのではないのかな。そういうとき LL という言い回しが、議論を正しく進めるのに役に立つのではないのかな?――と思いました。



というわけで、まとめです。

もちろん、スクリプト言語は蔑称ではないです。ごめんなさい。ただしこの文脈、Javaをストーキングするような言語(やそう言う支持者)にとっては蔑称に等しいかな?って思います。

こういう議論の際に言葉の持つハンデを払拭する言葉として LL はとても便利な言葉だと思います。これは Free Software に対する Open Source 並の政治的な言葉だよね、とも思います。

蛇足

もう一つは、LL魂 とかがもし スクリプト言語魂とかだったりしたら大変じゃないですか!きっと Squeak は「スクリプト言語」と呼ぶには違和感がありすぎて喚んでもらえまい...。オソロシヤ。

*1:でもJavaの実績的に反論しにくいのです。だから「感情的」