Luaとは?Luaは、強力で効率的、軽量で組み込み可能なスクリプト言語です。手続き型プログラミング、オブジェクト指向プログラミング、関数型プログラミング、データ駆動型プログラミング、およびデータ記述をサポートしています。 Luaは、単純な手続き型構文と、連想配列に基づいた強力なデータ記述構造、および拡張可能なセマンティクスを組み合わせています。Luaは動的型付けであり、レジスタベースの仮想マシンでバイトコードを解釈して実行し、インクリメンタルガベージコレクションによる自動メモリ管理を備えているため、設定、スクリプト作成、および迅速なプロトタイピングに最適です。 Luaはどこから来たのですか?Luaは、ブラジルのリオデジャネイロの教皇庁立カトリック大学(PUC-Rio)のチームによって設計、実装、および保守されています。Luaは、かつてPUC-Rioのコンピュータグラフィックス技術グループであったTecgrafで生まれ育ちました。Luaは現在、PUC-Rioのコンピュータサイエンス学部の研究所であるLabLuaに所属しています。 名前の由来は?「Lua」(発音はルーア)は、ポルトガル語で「月」を意味します。したがって、頭字語でも略語でもなく、名詞です。より具体的には、「Lua」は名前であり、地球の月の名前であり、言語の名前です。ほとんどの名前と同様に、頭文字を大文字にして「Lua」と小文字で書く必要があります。これは醜く、混乱を招くため、「LUA」と書かないでください。そうすると、人によって異なる意味を持つ頭字語になってしまいます。したがって、正しく「Lua」と書いてください! コミュニティへの参加Lua コミュニティには、学習や他の人の手助けをしたり、他の方法で貢献できるいくつかの交流の場があります。中心的な場所の1つはメーリングリストであり、非常に活発で友好的です。 Luaワークショップに参加すると、Luaコミュニティの一部の人々に会うことができます。 LuaのサポートLua.orgが発行した書籍を購入したり、寄付をすることで、Luaプロジェクトをサポートできます。 ZazzleでLua製品を購入して、Luaについて広めることもできます。 Lua.orgはAmazonアソシエイトであり、このサイトのリンクを通じて行われた対象となる購入に対して手数料を受け取っています。 |
Luaを選ぶ理由?Luaは実績のある堅牢な言語ですLuaは、組み込みシステム(たとえば、ブラジルのデジタルTV向けGingaミドルウェア)やゲーム(たとえば、World of WarcraftやAngry Birds)を中心に、多くの産業アプリケーション(たとえば、AdobeのPhotoshop Lightroom)で使用されてきました。Luaは現在、ゲームにおける主要なスクリプト言語です。Luaには、しっかりとしたリファレンスマニュアルがあり、それに関するいくつかの書籍があります。Luaのいくつかのバージョンがリリースされており、1993年の作成以来、実際のアプリケーションで使用されています。Luaは、2007年に開催されたHOPL III、第3回ACM SIGPLANプログラミング言語史カンファレンスで特集されました。Luaは、Game Developers Magazineから2011年のフロントライン賞を受賞しました。 Luaは高速ですLuaは、パフォーマンスで当然の評価を得ています。「Luaと同等の速さ」を主張することは、他のスクリプト言語の願望です。いくつかのベンチマークでは、Luaが解釈型スクリプト言語の分野で最速の言語であることが示されています。Luaは、微調整されたベンチマークプログラムだけでなく、実生活でも高速です。大規模なアプリケーションのかなりの部分がLuaで記述されています。 さらに速度が必要な場合は、ジャストインタイムコンパイラを使用するLuaの独立した実装であるLuaJITを試してください。 Luaは移植可能ですLuaは、標準のCコンパイラを持つすべてのプラットフォームで、小さなパッケージで配布され、すぐにビルドできます。Luaは、すべてのフレーバーのUnixとWindows、モバイルデバイス(Android、iOS、BREW、Symbian、Windows Phoneを実行)、組み込みマイクロプロセッサ(Lego MindStormsのようなアプリケーション向けのARMやRabbitなど)、IBMメインフレームなどで動作します。 Luaが制約のあるデバイスにも適した選択肢である具体的な理由については、Mike Pallによるこの要約をご覧ください。また、Timm M�llerが作成したポスターも参照してください。 Luaは埋め込み可能ですLuaは、アプリケーションに簡単に埋め込むことができる、フットプリントの小さい高速な言語エンジンです。Luaには、他の言語で記述されたコードとの強力な統合を可能にする、シンプルで十分に文書化されたAPIがあります。他の言語で記述されたライブラリを使用してLuaを拡張するのは簡単です。また、他の言語で記述されたプログラムをLuaで拡張するのも簡単です。Luaは、CおよびC++だけでなく、Java、C#、Smalltalk、Fortran、Ada、Erlang、さらにはPerlやRubyなどの他のスクリプト言語で記述されたプログラムを拡張するために使用されてきました。 Luaは強力(しかしシンプル)ですLuaの設計における基本的な概念は、言語に多くの機能を直接提供するのではなく、機能を実装するためのメタメカニズムを提供することです。たとえば、Luaは純粋なオブジェクト指向言語ではありませんが、クラスと継承を実装するためのメタメカニズムを提供します。Luaのメタメカニズムは、概念の経済性をもたらし、言語を小さく保ちながら、セマンティクスを型破りな方法で拡張できるようにします。 Luaは小さいですアプリケーションにLuaを追加しても、肥大化することはありません。したがって、セキュリティにも貢献します。Lua 5.4.6のtarballは、ソースコードとドキュメントが含まれており、圧縮された状態で355K、非圧縮状態で1.4Mです。ソースには約30000行のCが含まれています。64ビットLinuxでは、すべての標準Luaライブラリで構築されたLuaインタープリターは282Kで、Luaライブラリは470Kです。 Luaは無料ですLuaは、非常に自由なライセンス(よく知られているMITライセンス)の下で配布されている無料のオープンソースソフトウェアです。商用目的を含め、あらゆる目的で無料で使用できます。単にダウンロードして使用してください。 |