マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Lua

【OSS情報アーカイブ】Lua

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Lua」とは

「Lua」基本情報

概要

Lua(ルア)とは、スクリプト言語および処理系実装です。「解釈言語領域での最速言語」「軽量」「組み込み可能」などを特徴としており、特にゲーム分野における開発などに採用されています。

基本説明

Luaは、C言語のホストプログラムに組み込まれることを目的に設計されているマルチパラダイムスクリプト言語です。

経緯

1993年7月、「Lua 1.0」がリリースされました。

「Lua」という名称はポルトガル語の「月」に由来します。

主な特徴

言語コンセプト(メタメカニズム)

Luaは「言語で直接的に多数の機能を提供するのではなく、機能を実装するためのメタメカニズムを提供すること」を基本的コンセプトとしており、「簡素」「高効率」「高移植性」を目指しています。

Luaは、純粋なオブジェクト指向言語ではありませんが、クラスや継承を実装するためのメタメカニズムを提供しています。Luaのメタメカニズムにより、言語を小さく保ちますが、セマンティクスは普遍的方法で拡張されます。

マルチパラダイム言語

Luaは、マルチパラダイム言語であり、多くのプログラミング手法を持ち合わせています。
・手続き型プログラミング
・オブジェクト指向プログラミング
・関数型プログラミング
・データ駆動型プログラミング
・データ記述(連想配列と拡張可能セマンティクスに基づく強力なデータ記述構造)

動的型付け言語

Luaは動的に型指定されます。

レジスタベースの仮想マシンでバイトコードを解釈して実行され、インクリメンタルなガベージコレクションによる自動メモリ管理を備えているため、ラピッドプロトタイピングなどに適しています。

文法的特徴

文法的特徴として次のようなものがあります。
・「Pascal」によく似た構文を採用
・コルーチン(協調的マルチタスク)のサポート
・数値型は整数と浮動小数点数の区別がない
・関数を変数として扱える など

高速動作

Luaの大きな特徴として「高速動作」があります。

いくつかのベンチマークにおいて「Luaは解釈言語の領域で最も速い言語」と示されています。同じ汎用スクリプト言語「Perl」「Python」「Ruby」などと比較しても高速な動作が可能です。

特に、Luaにおけるテーブル(連想配列)の実装は高速化最適されており、キーに数値のみを使用した場合は、さらに高速に動作します。

メモリ管理に「インクリメンタル・ガベージコレクション」が採用されており、リアルタイム用途における性能の改善が図られています。

Just -In-Timeコンパイラ「LuaJIT」

LuaのJITコンパイラ「LuaJIT」を使用するとさらに高速化できます。

静的単一代入などを使用した高度な最適化が行われており、バイトコード実行時と比較して、数倍から数百倍の高速化を期待できます。

クロスプラットフォーム

Luaは多くのプラットフォームに対応しています。
・Unix/Linux
・Windows
・モバイルデバイス
・組み込みマイクロプロセッサ
・IBMメインフレーム など

埋め込み可能

Luaは高速言語エンジンであり、アプリケーションに簡単に埋め込めます。

Luaを採用している主なアプリケーション
・MySQL Proxy
・Nginx
・VLC Media Player
・VOCALOID3
・Wireshark など

ゲーム開発分野での高い評価

Luaは「組み込みシステム」や「ゲーム開発」において幅広く採用されています。

Luaが採用されている主なゲーム
・World of Warcraft
・GRAVITY DAZE
・PHANTASY STAR ONLINE 2
・ファイナルファンタジーXIV
・ドラゴンクエストX

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Perl」「Python」「Ruby」など。

オフィシャルサイト

オフィシャルサイト

→Lua

ライセンス情報

Luaのライセンスは「MIT License」です。

詳細について、こちらを参照ください。
→Lua →License

ダウンロード

→Lua →Download

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

OSS情報

2024.07.18

【OSS情報】LLMトレーニング用ライブラリ「 GPT-NeoX 」📚

「 GPT-NeoX 」は、GPU上で大規模言語モデル(LLM)を効率的にトレーニングするためのライブラリです。NVIDIAのモデルを基に独自の最適化が加えられ、オートレグレッシブ言語モデルのトレーニング手法を集約しています。

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

OSS情報

2024.07.04

【OSS情報】WebベースAPI開発スイート「 Hoppscotch 」🌐

「 Hoppscotch 」は、オープンソースのAPI開発エコシステムで、使いやすさとアクセシビリティを重視した軽量なWebベースのスイートです。無料版と有料版があり、PostmanやInsomniaの代替として利用可能です。

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

ウェビナーまとめ

2024.05.15

経営活動に活用できる 原価管理 を実現するには? 〜製造業の現実的な課題に向き合い、現場視点から改善する原価管理手法の必達プロセスをご紹介〜

2024年3月12日に三菱電機ITソリューションズ株式会社とアットストリームパートナーズ合同会社の共催で、組立加工製造業向けのセミナー「なぜか高くなる原価を管理する 不確実性の時代を乗り切るためのコスト戦略とは」が開催されました。本セミナーでは、製造業における原価管理の現状と改善手法について深く掘り下げ、経営活動への具体的な活用方法を提示しました。今回は、その講演の要点をお伝えします。