Lua

地元の本屋に寄った際に「入門Luaプログラミング」を買った。


Luaは、つい最近までは「アプリケーションに組み込むための言語」、「小さくて動作が軽い」ぐらいの認識だったんだけど、実際に使ってみると、これがなかなかいい感じ。言語自体の簡潔さもさることながら、(メタ的な意味で)拡張も可能だし、C、C++との連携もシームレスにできる。それでいて、ソースコードの行数が2万行に満たないのが素晴らしい。(versionは5.1.4)


READMEに以下のような記述がある。

Lua is a powerful, light-weight programming language designed for extending
applications. Lua is also frequently used as a general-purpose, stand-alone
language. Lua is free software.


そう、LuaはLL(light-weight programming language)である、と書かれている。LL(と呼ばれている言語)と言えば、メジャーなものだとPerlPHPPythonRubyが挙げられるが、LuaにおけるLLと上記4言語におけるLLの意味は明らかに違う。Luaはまさに量的(もしくは動作的)な意味で軽量で、上記4言語は生産性的な意味で軽量という扱いになっている。*1まあ、そもそもLLの定義なんて明確なものがないからこれを以ってLua以外はLLじゃない、と言う気はない。ただ、少なくとも上記の4つが辞書的な意味でlight-weight(軽量)だと言う人はいないだろう。


入門Luaプログラミング

入門Luaプログラミング

*1:量的な意味では4言語はコア部分に機能を詰め込みすぎていて肥大化している。Pythonのコアは比較的小さいが、それでもLuaの数倍大きい。