Luanの背後にあるアイデアを理解するには、Ousterhoutの論文を読む必要があります。この論文の観点から、Luanはスクリプト言語であり、Javaはシステムプログラミング言語です。つまり、これらの2つの言語は一緒に機能するツールのペアです。Luanはアプリケーションを書くためのツールであり、Javaはライブラリを書くためのツールです。
他の現代のスクリプト言語(Tclを除く)はこのモデルに従っていません。これは、スクリプト言語が提供する機能に制限されることを意味します。現代のスクリプト言語の中で、Pythonだけがライブラリを通じて本当に十分な機能を持っています。しかし、小さなLuanは、Javaで利用可能なすべての機能にアクセスできるため、Pythonと同じくらいの機能を持っています。
LuanとJavaの緊密な統合がこれを可能にしています。しばしば、Javaの関数をLuanで利用可能にするのは次のように簡単です:
Luan_table.luan_function = JavaClass.javaFunction
他の場合では、LuanとJavaの間に非常に薄い層があります。そして、Javaを知っていれば、このコードは読みやすいです。これは、Luanのソースコードが実際にLuan APIの完璧なドキュメントであることを意味します。もし私がLuan APIのすべてを文書化するなら、実際にはほとんどJava APIドキュメントを複製することになります。したがって、Luanリファレンスマニュアルを拡張し続けますが、これは私の最優先事項ではありません。Luanを使用するには、ソースを取得し、luan/src/luan/modulesにあるAPIの基本的な理解を得る必要があります。
Luanを学ぶための私の提案するステップは次のとおりです:
次に何をするかは、ウェブ開発を行うかデスクトップ開発を行うかによります。
ウェブ開発の場合、luan/examples/blogの例を見てください。これは最小限のウェブサイトです。次にLuan Chatを見てください。ソースを取得します。これはサーバー送信イベントを使用しており、LuanではHttp.push
で実装されています。Luan Chatは完全に機能しており、私が人々とチャットするために使用しています。したがって、このコードは完全なウェブサイトの例です。
デスクトップ開発の場合、Swing、MigLayout、FlatLaf、および2Dグラフィックスを含む関連するJavaツールを学ぶ必要があります。その後、luan/src/luan/modules/swing/examplesの例を見てください。そしてLuanエディタを取得します。これは完全に機能するテキストエディタです。LuanでSwingを使用する方法を示します。
人気のあるプログラミング言語では、ChatGPTから助けを得ることができます。しかし、ChatGPTはLuanを知りません。ChatGPTはJavaを理解するのに役立ちますが、それだけです。したがって、Luanの質問については、私に連絡してください。