【新・言語進化論】次にくる!新登場言語
第2回:言語開発者が目標にするパフォーマンス「Lua」
著者: ether
公開日:2007/11/12(月)
Luaについて
Luaは1993年から開発が開始された、ブラジル生まれのスクリプト言語だ。プログラミング言語の出生地としては「非欧米産」という意味でRubyと並ぶ例外といえるだろう。
Luaのルーツはデータ記述用言語だが、汎用の組み込み言語として広く利用されている。例えばAdobeの画像処理ソフトウェア「Lightroom」では、40%に相当する部分がLuaで記述されているという。またフリーのパケットキャプチャツールの定番である「Wireshark」(という呼称で通じなければ「Ethereal」)にもLuaが組み込まれている。
Luaの処理系はスクリプト言語としては非常に高い性能を持っている。「Computer Language Shootout」というベンチマークサイトにおいて、LuaはPythonやPerl、PHPを凌ぐ位置にランクインされている。
また今年の夏に催された「Lightweight Language Spirit」というイベントでは、参加した複数の言語開発者がLuaのパフォーマンスを目標にしていると発言していたほどだ。
言語としてのLuaを見た場合、そのミニマリズムが際立っている。例えばLuaはコレクション型としてテーブル(他言語でいうハッシュ、辞書、連想配列に相当する)しか用意していないが、これはLuaの表現力が貧弱であるということを意味してはいない。
Luaの思想は言語のコアとしては選び抜かれた数少ない概念のみを提供し、そこから複雑な概念を「組み立てる」ことにある。Luaはオブジェクト指向言語ではないが、テーブルとファーストクラス関数、そして少々のsyntactic sugarによってオブジェクト指向の仕組みを非常に巧みに組み立てることができる。
Luaの主要なドキュメントとしては、作者の1人による「Programming in Lua」と「Lua Reference Manual」がある。
Luaの入手
Luaの入手方法としてはLua公式サイト「http://www.lua.org/」でソースをダウンロードする方法と、LuaForgeのLua Binaries Projectで各環境用のコンパイル済みバイナリをダウンロードする方法がある。
原稿執筆時点(2007年11月1日)での最新バージョンは5.1.2だ。今回はWindows版で紹介を進めていくため、「Lua Binaries Download」から「lua5_1_2_Win32_bin.zip」をダウンロード後、任意のフォルダに展開することでインストールを行う。 次のページ