.NET アプリケーションで使用できるスクリプト環境がいくつかあります (例:この投稿)。
私の質問は、それぞれを使用することの長所/短所は何ですか?
例には次のものが含まれます(ただし、これらに限定されません)
- パワーシェル
- アイアンパイソン
- ルア
- JavaScript
専門家のユーザーが新しいアルゴリズムを作成できるように複雑なモデルと対話できるようにするために、科学アプリケーションで使用するスクリプト ツールを決定しようとしています。
.NET アプリケーションで使用できるスクリプト環境がいくつかあります (例:この投稿)。
私の質問は、それぞれを使用することの長所/短所は何ですか?
例には次のものが含まれます(ただし、これらに限定されません)
専門家のユーザーが新しいアルゴリズムを作成できるように複雑なモデルと対話できるようにするために、科学アプリケーションで使用するスクリプト ツールを決定しようとしています。
私は Powershell を埋め込んだ経験はありませんが、最終的に CLR に深く接続されているという点で、IronPython によく似ていると思います。
そう:
PowerShell / IronPython
これら 2 つをグループ化すると、CLR を介して直接通信できることが大きな利点であると言えます。
これらのマイナス面は、メモリの使用と、場合によっては実行時のパフォーマンスです。いずれにせよ、CLR で既に実行されているため、大きな違いはないはずです。
ルア/Javascript
どちらも、最終的に何らかの P/Invoke API を使用して埋め込まれるという点で似ています。(または COM 相互運用)
長所: 高速で、メモリ使用量が少ない。短所: P/Invoke、アンマネージ コードなど。
Lua と Javascript の間:
Lua は Javascript よりも高速で、メモリを大量に消費しない可能性がありますが、Javascript には、より馴染みのある OOP および FP イディオムが言語に組み込まれています。
リストからJavaScriptを削除できると思います。複素数も演算子のオーバーロードもサポートしていないため、a、b、c が複素数の場合、c=a+b を実装する方法はないようです。