[Lua] Luaについて

englishニュースquotespressauthorscontactlicensedocumentationversionsthanks

プログラム言語Luaについて: Luaとは? なぜLuaなの? どこから来たの? その名前の意味は? Luaを支援するには 。これはLuaの公式ホームページの日本語訳です。

Luaとは?

Luaは、組み込みできる、軽くて、早くて、実用的なスクリプト言語です。

シンプルな手続き型の文法の中で、連想配列を基本としたデータ記述の強力さと、 拡張性を備えています。動的な型付けをする言語としてインタプリタで動作するもので、 逐次的なガベージコレクションを備えたレジスタ型仮想マシンとなっています。 これは初期設定や処理手順スクリプトに最適で、 またプログラムを素早く試作するのにも便利です。

なぜLua?

Luaが使えるという実績が増えたからでしょう。

たとえば、 アドビ社のフォトショップ・ライトルーム のようなソフトウェアの開発に使われましたが、特に組込機器では、 ブラジルのデジタルTV放送機器では ミドルウェアGinga として採用されたり、 ワールドオブワークラフトのようなゲームまで、 ソフトウェア産業で活躍しています。 リファレンスマニュアル は完成度も上がり、 書籍も多くなりました。1993年に作られてから 各バージョンが活躍しました。 国際会議では HOPL III、 ACM SIGPLAN会議でのセッション ”プログラム言語の歴史”(2007年6月)などで取り上げられました。

Luaは速い

パフォーマンスが高く評価されています。ほかのスクリプト言語が、 Luaと同じくらい速いか、と聞かれたりします。利用されている インタプリタ型のスクリプト言語として最高速となるベンチマーク結果もあります。 ベンチマーク用に設計されたプログラムで速くなるように作られたのでなく、 実在のコードでも速いのです。現在ではかなり大規模なソフトウェアが Luaで書かれています。

Luaはどこでも動く

Lua は、 通常のC言語のコンパイラ(ANSI/ISO)があれば、どこでも動作するように 小さなパッケージで 配布されています。各種のUnixやWindowsだけでなく、 BREW規格のau携帯電話や、Symbian,Pocket PC等の携帯端末、 そしてARMやRabbit 等の組み込みプロセッサの応用機器、 例えばレゴ マインドストームまでに及びます。

Luaは組み込まれる

開発したプログラムに簡単に組込のできるように、邪魔にならない小さいサイズ になった高速な言語エンジンです。シンプルなプログラムインターフェイス(API)で、 ほかの言語で書かれている既存プログラムと高度に連携することができるように、 良く解説されています。Lua自体を拡張するのに他の言語用ライブラリを使えます。 LuaによってCやC++のプログラムが拡張できるだけでなく、Java、C#、 Smalltalk、Fortran、Ada、さらには他のスクリプト言語であるPerlやRubyを 結合した拡張も可能です。

Luaはパワフル(でもシンプル)

Luaの設計の基本コンセプトは、言語自体に様々な機能を装えるのではなく、 機能を実現できる巧妙な仕掛けを提供することです。例えば、 Luaはオブジェクト指向言語ではありませんが、クラスや継承といった 機能を実現できるメタ・メカニズムを備えています。これは、 言語そのものは小さくて太ることがなく、 独特な言語の拡張が可能になっています。

Luaはコンパクト

プログラムにLuaを組み込んでも太りません。 配布されているバージョン5.1.4の tarファイル はたった212Kバイトで、 ソースコード、ドキュメントおよびサンプルが入っていて、 展開しても860Kバイトです。ソースコードは約17000行のC言語。 Linuxでは標準のLuaライブラリを含むLuaインタプリタは153Kバイトで、 Lua言語本体の実行時ライブラリが203Kバイトになります。

Luaはフリーソフト

Luaは、 自由度の高いMITライセンスで配布されます。 商用でもどんな用途にも無償で ダウンロードして利用できます。特に携帯電話のような制約のある装置 に向いている事が MikePallの要約や、 Timm Mulerのポスターで示されています。

Luaはどこから来た?

リオデジャネイロカトリカ大学のPUC-Rio 研究チーム で設計され、実装、そして保守されています。最初は Tecgraf というコンピュータグラフィックス技術グループで作られました。 現在は Labluaという同じく コンピュータ科学科の研究室 で続けられています。

その名前の意味は?

Luaはルアと読み、ポルトガル語で月の意味です。 地球のそばにある月と同じ名前なので、LUAとは書きません。 略語や頭文字のように見えるため、 別の意味 になる時もありますから、紛らわしいのでLuaと書きます。

Luaを支援する

書籍を買うことや 寄付でLua言語のプロジェクトを 支援 することができます。 Luaを使っている会社にはぜひ スポンサー としての支援をお願いします。

[buy at the Lua Bookstore at Amazon]      [make a donation to the Lua project]


Last update: Sat Aug 23 JST 2010 日本語訳については 上野豊(産総研)Luaまで。