辞書へ戻る言語の一覧

Lua

るあ言語1993

軽量で組み込みやすいスクリプト言語。ゲームやアプリの拡張用に広く採用され、設定やMOD記述の定番となった。

時代背景

作者3名本人による公式の歴史論文によれば、Luaは1993年、ブラジルのTeCGraf(PUC-Rio、カトリカ大学リオデジャネイロの技術グループ)で、国営石油会社PETROBRAS向けのプロジェクトから生まれた。PETROBRASは調達規則が厳しく特定のハードウェアを選べなかったため、多様なコンピュータ(PC DOS、Windows 3.1、Macintosh、各種Unix)を抱えており、TeCGrafが開発するソフトウェアはそれら全てで動く必要があった。既存言語の採用も検討されたが、有力候補だったTclは1993年当時Unix環境でしか動かず、Perlは拡張言語ではなく、いずれも構文が難解でデータ記述への十分な対応もなかったため、新しい言語の開発に着手したという。

名前の由来

作者3名本人による歴史論文によれば、Luaは、それ以前にTeCGrafで使われていたデータ入力用の言語『Sol』(ポルトガル語で『太陽』の意)の改良版として生まれた。新しい言語がSolの改良版だったことから、TeCGrafの友人が『Lua』(ポルトガル語で『月』の意)という名前を提案し、こうしてLuaが誕生した。Luaはレコードやリスト構築の構文をSolから受け継ぎつつ、連想配列(テーブル)という単一の実装に統一した点が特徴だったという。

仕組み

作者3名本人による歴史論文によれば、Luaはごく少数の新概念しか持たない軽量で汎用的な言語として設計された。制御構造の構文はModula(while・if・repeat until)から、複数代入と複数の戻り値はCLUから、必要な場所でだけローカル変数を宣言できる仕組みはC++から取り入れられた。数少ない独自の工夫の一つが文字列連結の構文で、Luaは文字列から数値への型強制(コアーション)を許すため`+`記号では曖昧になることから、2つのピリオド`..`という専用の構文を新たに作ったという。セミコロンの扱いについても議論があり、最終的に省略可能とする『委員会らしい』折衷案に落ち着いた。

関連項目

  • Tcl/Tk組み込みやすいスクリプト言語Tclと、GUI部品ツールキットTk。手軽にGUIアプリを作れる組み合わせとして長く使われた。

関連技術

出典