Lightweight Languageとは

ときどきの雑記帳さんで、2chのム板で LL が和製英語だという話題について、きむら(K)さんのコメント

たしか北米の東海岸で二回だか三回ぐらいしか開催されなかったイベントで LLって名前をつけたんじゃなかったっけ? 適当に名前をつけたのでかっちりした定義はないとか言うのを読んだ覚えが。

わたしもそんなの読んだ記憶があるなぁ。と、本棚をごそごそ。ありました。



Lightweight language magazine―ライトな言語でプログラミングを楽しもう! (アスキームック)

Lightweight language magazine―ライトな言語でプログラミングを楽しもう! (アスキームック)

これの、まつもとさんの「Lightweight Language とは?」に、用語の定義とそれが決まったいきさつが乗っています。

本来Lighthtweight Language とは、2001年11月、マサチューセッツ工科大学(MIT)において第1回が開かれた言語好きが言語について語り合うイベントの名前である。

で、Lightweight Language の定義ですが、

LLカンファレンスの発起人である Greg Sullivan氏は「Lightweight Language」の定義について、こう語っている。

Lightweight Languageとは明示的に未定義の用語である。

名付けた本人が定義することを放棄しているのだからどうしようもない。

はふん。なぜかというと

  • イベント名は Dynamic Language なんちゃら、で、どう?
    • ML, Haskell :<俺らがは入れねーじゃねーか!
  • じゃあ Scripting Language
  • あー、もう、「インタプリタ型」も「即時実行型」もどっかから絶対文句くるし・・・、もー、イベント名は LL !定義は無し!文句あっかっ!?

と言うことらしいです。あーあ。

・・で、LL2 (二回目のLLイベント)で、まつもとさんが「どれどれ、かしてみ?よーし、俺が定義つくっちゃる。」と俺定義を炸裂

  • Lightweight Language は「脳力」をより少なく消費する言語である
  • 「脳力」はプログラミング活動中に消費される仮想的なパワーである
  • 消費「脳力」の総和が少ないことももちろん重要だが、瞬間最大「脳力」が大きすぎるのもよろしくない

とプレゼンしたところ、会場からも特に異論がなかったので「反論なきは合意」の原則に基づき、コレを正式な定義とすると独断した――というエピソードが載ってました。

そのときのまつもとさんのスライドがこちら

余談

ちなみにこの本、われらが Squeak については、大島さんが原稿を寄せているのですが、標準的構文からかけ離れているSmalltalk なので「Squeak では条件分岐の構文が“if”で始まっていなくてかっこわるい」という批判に胸を痛めて、

If test: self is Hungry
   then: [self goTo:
                restaurant]
   else: [self goTo: bed]

と、構文を追加・・・というつかみになっています。濃くてよいなぁ。LLのイベントの空気を感じました。(ちなみに、4ページしかないレビューなのに、Smalltalkの文法の特徴、開発環境としてのSqueak、OSとしてのSqueak、Etoys、そして Seaside の紹介までしていて、凄く全部入り。お得です。)

そんな空気が愉しい本なので、LLイベントの前後に毎年だす定番本とかになって欲しかったなぁ、と思います。