あなたがリストした条件はそれほど限定的ではないと思います。6 つの要件に該当するホスト/スレッド スクリプト言語のペアの大きなリストが見つかるでしょう。
したがって、私の最も重要な推奨事項は、意図したユーザーが最も好む言語を選択することです。
これにアプローチするには、いくつかの方法があります。ホスト言語の選択を開始する場合は、次のオプションがあると思います。
C/C++ : スレッド言語をより自由に選択したい場合は、C または C++ ホストを使用すると、ほとんどのオプションが得られます。これは、ほとんどの解釈されたスクリプト言語が C/C++ で記述されており、埋め込みのための簡単なメカニズムを備えているためです。 C/C++ アプリケーションに。スレッド言語の選択肢は、Lua、Javascript、Python、Ruby、PHP、Basic、Scheme、Pascal、Lisp などです。
Java : Java をホスト言語として使用すると、組み込みに適した少数のスクリプト言語を使用できます。ここにリストがあります。
.NET : Windows で実行する場合にのみ、これを使用します。そうでない場合は回避します。Java と同様に、.NET アプリケーションに組み込むことができるインタープリターのリストがあります。
他の何か: ホスト言語として C/C++ や Java が気に入らない場合は、どの種類のホスト言語を使用するかを決める必要があります。言語。あなたは Python を可能なホスト言語として提案しましたが、これは妥当な選択だと思います。ただし、Python で Lua を使用しないことをお勧めします。これは、言語 VM レベルでデバッグする必要がある場合、デバッグの悪夢になる可能性があります。代わりに、2 つの提案をすることができます。(1) スレッド言語にも Python を使用すると、システム全体で優れた統一言語が得られます。(2) Python で書かれたネイティブ インタープリターを備えたスクリプト言語を見つけます (私が知っているものは多くありません)。Python の代わりに、Ruby、PHP、またはホスト用のその他の主要なスクリプト言語を使用できますが、いずれの場合も「
ホスト言語を探す代わりに、まず組み込み言語を選択してから、その言語を組み込むことができるホスト言語を見つけることができます。あなたは組み込み言語として Lua を提案しましたが、これも非常に良い選択肢です。Lua を使用することに決めている場合は、C または C++ をホスト言語にする必要があると思います。これにより、最適な埋め込みエクスペリエンスが得られます。
要約すると、言語のペアを選択するには、次の 2 つのアプローチのいずれかをお勧めします。
(a) 組み込み言語インタープリターがホスト言語に実装されている言語のペアを選択します。例: Lua と C++、Javascript と C++、Python と C++、Scheme と C++、Jython と Java、JRuby と Java、Rhino と Java など。
また
(b) ホストとスレッドに同じ高レベルのスクリプト言語を選択し、組み込みのスクリプトを使用せずに統合プラットフォームで作業します。例: Python と Python、Lua と Lua、Ruby と Ruby など。
検索頑張ってください!