Luaに関する世界観です。
Luaは、C言語に組み込むことを想定した、高速なスクリプト言語。
最初から、C言語のコード、たとえばゲームに対して、外部から挿入されるスクリプト言語として使われることを想定している。
高速性が売りで、スクリプト言語ならば最速であると言われている。
欠点は、使えるライブラリやモジュールが少ないこと。
Luaは、プロトタイプベースのオブジェクト指向言語であり、クラスを持たない。代わりにテーブルを利用する。
記法として、hoge["fuga"]はhoge.fugaと書くことができる。また、hoge.fuga(hoge)はhoge:fuga()と書ける。
このことから、第一引数でselfをとれば、インスタンスメソッドであるかのように関数を実行できる。
目的のキーがもしなかった場合、__indexメタテーブルからプロパティを探す。これによって継承を実現できる。
詳しくは以下のページが参考になる。
メタテーブルは、実際のデータとは関係のない値を、データと一緒に覚えていくことができる機能。
GTK+/開発 - ArchWikiを見る限り、記法としては僕の理想に近い。
LuaはWikipediaのテンプレート処理のスクリプト言語に使われていることで有名である。Wikiを参照のこと。
LuaはNeovimで設定とプラグインを書くための言語として使われている。viを参照のこと。