Lua
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

ウィキペディアにおけるLuaの利用については、「Wikipedia:Lua」をご覧ください。

この項目では、プログラミング言語について説明しています。

生命の祖先(LUA)については「共通祖先」をご覧ください。

ポルトガル語の意味(天体のMoon)については「」をご覧ください。

LuaLuaのロゴ
パラダイムマルチパラダイムプログラミング、オブジェクト指向プログラミング関数型プログラミング手続き型プログラミングプロトタイプベース命令型プログラミング 
登場時期.mw-parser-output .plainlist--only-child>ol,.mw-parser-output .plainlist--only-child>ul{line-height:inherit;list-style:none none;margin:0;padding-left:0}.mw-parser-output .plainlist--only-child>ol li,.mw-parser-output .plainlist--only-child>ul li{margin-bottom:0}

1993年 

開発者ロベルト・イエルサリムスキー 
最新リリース5.4.6/ 2023年5月2日 (12か月前) (2023-05-02)[1]
型付けダック・タイピング
主な処理系Lua、LuaJIT、LLVM-Lua、Lua Alchemy
影響を受けた言語C++CLU、Simple Object Language、DEL、SNOBOL、Modula、Modula-2Scheme 
影響を与えた言語Io, JavaScript, Julia, Ruby, Squirrel, MoonScript
プラットフォームクロスプラットフォーム 
ライセンスMIT License 
ウェブサイトwww.lua.org
拡張子lua、luna、lunaire、anair 
テンプレートを表示

LuaJIT作者Mike Pall

最新版2.0.5 / 2017年5月1日 (7年前) (2017-05-01)
最新評価版2.1.0-beta3 / 2017年5月1日 (7年前) (2017-05-01)
リポジトリhttps://github.com/LuaJIT/LuaJIT
プログラミング
言語C言語
対応OSLinuxWindowsmacOS*BSDなど
対応言語Lua
サポート状況開発中
ライセンスMIT License
公式サイトluajit.org
テンプレートを表示

Lua(ルア)はスクリプト言語およびその処理系の実装で、主にリオデジャネイロ・カトリカ大学(英語版)のコンピュータ科学科 (Department of Computer Science) および/または同大学附属研究所のTecgraf/PUC-Rio[注 1]に所属するロベルト・イエルサリムスキー Roberto Ierusalimschy[3][4]、Waldemar Celes[5][6]、Luiz Henrique de Figueiredo[7]らによって設計開発された[11]

手続き型言語として、またプロトタイプベースオブジェクト指向言語としても利用することができ、関数型言語としての要素も併せ持っている[12]
名称の由来

Luaという名前は、ポルトガル語の「」に由来する。もともとLuaはブラジル石油会社であるペトロブラス内部でデータ入力用に開発された言語DEL (data entry language) と、レポート生成用に開発されたSOL (simple object language) の2つの簡易言語に由来する。SOLがポルトガル語で太陽を意味することから、新しい言語の名称はLua(月)になった[13]
概要

Luaは、C言語のホストプログラムに組み込まれることを目的に設計されており、高速な動作と、高い移植性、組み込みの容易さが特徴である。いったんバイトコードにコンパイルされ、Lua VMで実行される。LuaJITは The Computer Language Benchmarks Game によると、動的型付けのスクリプト言語では最速の言語・処理系である[14]

TIOBE Programming Community Index(英語版)では2007年に人気が急上昇し、2011年6月には10番目に人気なプログラミング言語になったが、その後は人気が下がっている[15]。2009年2月の調査で、ゲーム開発者がイベントスクリプト等の内部処理に利用する言語として、最も利用例が多いと報告されるなど、@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}近年[いつ?]はゲーム産業での利用が広がっている[16]。2013年3月以来、ウィキメディア財団のサイトではLuaをサポートしている[17]

MITライセンスのもと配布されている[18]
特徴

Luaの特徴としては、汎用性が高いが比較的容易に実装が可能である、というものである。実際のところLuaは、オブジェクト指向などといった他の要素としての働きを明白にはサポートしていないが、サポートしていない範囲においても容易に拡張が可能である。また前述のような、動作の高速性や優れた移植性なども大きな特徴である。

文法的な特徴としては、Pascalによく似た構文を採用していること、コルーチン協調的マルチタスク)のサポート[19]、数値型は整数浮動小数点数の区別がないこと(ただしLua 5.3では整数型が導入された)、関数を変数として扱えることなどが挙げられる。

Luaはいわゆる汎用スクリプト言語であり、特定の用途に限定されない性質を持つが、同じく汎用スクリプト言語であるPerlPythonRubyと比較して高速に動作する[要出典]。これはLuaの理念である、簡素、高効率、高移植性を目指した実装の産物である。また、Luaにおけるテーブル(連想配列)の実装はかなり最適化されており、特にキーに数値のみを使用した場合は、単純な配列としてさらに高速に動作するようになる。

Lua 5.0以前はメモリ管理にマーク & スイープ方式のガベージコレクションが使用されていたが、Lua 5.1ではメモリ管理にインクリメンタル・ガベージコレクションが採用され、リアルタイム用途における性能の改善が図られている。ガベージコレクションの実装形態も Lua の高速動作および高リアルタイム性能に一役買っている。
LuaJIT

LuaのJITコンパイラである LuaJITがMike Pallにより開発されている。動的型付けであるにもかかわらず、Javaよりも少し遅くなる程度の速度で動いている[14]静的単一代入などをつかった高度な最適化が行われており、バイトコードを実行する場合と比べて、数倍から数100倍の高速化が期待できる[20]
Luaの歴史
Lua

1993年07月28日 - Lua 1.0 リリース。

1995年02月07日 - Lua 2.1 リリース。

1997年07月01日 - Lua 3.0 リリース。

2000年11月06日 - Lua 4.0 リリース。

2003年04月11日 - Lua 5.0 リリース。MITライセンスの採用。

2006年02月21日 - Lua 5.1 リリース。インクリメンタルGCの採用。

2008年08月22日 - Lua 5.1.4 リリース。

2010年05月14日 - Lua 5.1.4-2 リリース。

2011年12月16日 - Lua 5.2.0 リリース。
ビット演算ライブラリをサポート。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:66 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef