Luanは信頼性、シンプルさ、読みやすさを重視して設計されています。その極端なシンプルさを可能にしているのは、Ousterhoutが彼の論文Scripting: Higher Level Programming for the 21st Century(1998年)で構想した純粋なスクリプト言語であることです。LuanはJavaと密接に結びついており、Luanはスクリプト(アプリケーションを書く)に、Javaはライブラリを書くために使用されます。これをPythonのような言語と比較してください。Pythonは素晴らしい言語ですが、スクリプトやライブラリを書くのに最適ではありません。Pythonは妥協として中間に位置しています。Ousterhoutのビジョンは、各タスクに最適なツールを使用することです。Luanは妥協のないスクリプト言語であり、Javaはライブラリを書くのに理想的です。
Ousterhoutは彼のビジョンをTclで実現しました。Luaは埋め込みスクリプト言語としてこのアイデアを引き継ぎました。しかし、TclとLuaの両方はCをスクリプトし、C関数にアクセスするために「グルー」コードが必要です。LuanはグルーコードなしでJavaに直接アクセスできます。そしてLuanはJava JVM上で動作するため、Luanは移植性があります。つまり、Luanを使用すると、必要な機能を含むJARファイル(JVMファイル)を直接使用でき、これは移植可能です。
Luanは現代ソフトウェアの複雑さを拒否します。多くのプロジェクトで使用されてきた成熟したソフトウェアであり、Link My Style、Super Resume、lovepaperwork、Luan Chat、Luan Editorなどがあります。Luanがあなたにアピールするかどうかは、あなたが誰であるかによります。現代文化のメンバーはシンプルさを嫌うため、Luanを好まないでしょう。Luanはシンプルさを重視する良い文化にのみアピールしますので、私が知っている2つの良い文化に向けてお話しします。
ここでは、現代文化を拒否し、現代文化の一部ではないメノナイトに向けてお話しします。
メノナイトはplain peopleとして自分たちを表現し、シンプルで質素な服装や教会を好みます。また、メノナイトは仕事のためにシンプルで質素な道具を好むことに気づきました。Luanはシンプルで質素なプログラミング言語であり、メノナイトにアピールするはずです。
旧約聖書の信奉者として、少しヘブライ語を学びましたが、旧約聖書のヘブライ語がいかにシンプルで質素であるかに驚かされました。この文体が大好きです。深遠なアイデアがシンプルで直接的な言葉で表現されています。Luanはプログラミングでこのスタイルを可能にするように設計されています。さらに、私は旧約聖書の知恵を私のプログラミングとLuanの設計に適用しました。
日本は、私が知っている限り、品質を重視する唯一の国です。日本人は、品質が物事を清潔でシンプルに保ち、継続的に改善することの結果であることを理解しています。私はこれらのことをLuanに適用しました。日本のアイデアが私のプログラミングにどのように適用されるかをここで議論しました。私のコードにはこれらの原則がすべて見られると思います。
Luanのプログラミングスタイルは、日本の工芸である組木や金継ぎに例えられます。組木では、日本人は木片を使って釘などを使わずに強い構造を作ります。同様に、Luanはシンプルで効果的な強いJavaライブラリを使用し、現代のプログラマーが好む不要な部分を使わずに強力なプログラムを作ります。このJavaライブラリをアプリケーションに組み込むというアイデアは、上記のスクリプトのアイデアです。金継ぎでは、壊れた物を金や銀などの視覚的に魅力的なもので修復します。これは古くて壊れた物を捨てる代わりに行われます。再びLuanは同じことをします。Luanが新しい機能を必要とする場合、私は西洋文化がまだ良かった時代に書かれた古いJavaライブラリを探します。それにバグがあるか不完全であれば、私のコードを追加して修正します。これらを組み合わせて、組木のようにコンポーネントとして扱い、Luanを使ってアプリケーションに組み立てます。
西洋のソフトウェアはこれらのアイデアに従いません。代わりに、ますます複雑で信頼性が低くなります。対照的に、Luanは継続的な改善の結果として、年々シンプルで信頼性が高くなっています。現代の西洋ソフトウェアを使用して日本の品質と信頼性の基準を達成することはできません。代わりにLuanを使用してください。方法を見るには、Learning Luanを読んでください。または、Luanを見たいだけなら、Luan Tutorialを参照してください。