3

私は次の機能を備えた言語を探しています:

  • SWIG互換、または同様のもの。C ++との互換性は簡単なはずです:

C、C ++、AllegroCL、C#-Mono、C#-MS .NET、CFFI、CHICKEN、CLISP、D、Go、Guile、Java、Lua、MzScheme / Racket、Ocaml、Octave、Perl、PHP、Python、R、Ruby、 Tcl / Tk

  • 静的に型付けされたもの:LuaのようにmyObject.CompletelyNewFieldWithUnknownSideEffects = GuessWhat()はありません。phpのようなisinstance()はありません。PythonのようなnewVariableOfUnknownType=foo()はありません。強く型付けすることもできます(「Hello」+0ではなく「Hello」+「0」):

C、C ++、C#、D、Go、Java、Ocaml、PHP、Ruby?他の ?

  • 実行時にコンパイルできます(そしてexec( "gcc plugin.cpp")!はカウントされません!)任意のasm/中間言語にコンパイルできます。

C:libCLang、Ch; C ++:Ch; スクリプト言語; 他の ?

  • (オフラインまたは実行時に)x86 .dll/.soまたは.cppにコンパイルできます

C:gcc、libClangなど。C ++; C#; D; Python; 行け; OCaml; Lua:LuaJIT; ルビー:ばかげている

  • できればデバッガーで:)

TL; DR

静的に型付けされた、パフォーマンス用にコンパイルできる埋め込み可能なスクリプト言語が欲しいのですが。

アイデア?コメント?どんな種類の入力?ありがとう !

これまでの有効な提案を編集してください:

ですから、私が当初思っていたよりもはるかに多くの希望があります:)ありがとうございました!私は調査を続け、このテーマについてもっと経験があれば答えを受け入れます。

4

4 に答える 4

1

おそらく、OpenCLを見てください。実行時にコンパイルされるCのような言語を中心に設計されていますが、AMDの最新のSDKは、オフラインの事前コンパイルも実行する機能を提供します。

GPUでの使用が促進されているため、これは明白な選択ではありませんが、それよりも広く適用できるように設計されており、通常のCPUでも同様に実行できます。

于 2011-05-06T19:30:30.063 に答える
1

Rubyは各リストに含まれており、Rubiniusコンパイラーはそれをバイトコードにコンパイルします。それはあなたのニーズを満たしていますか?

2回目の試行:Boo:「共通言語インフラストラクチャ用のオブジェクト指向の静的に型付けされたプログラミング言語」を見たことがありますか

于 2011-05-06T17:06:27.400 に答える
1

これはほぼ間違いなく有用な答えではありませんが、Javaは実際にはすべての箇条書きに適合します。

  • JNI、JNA、またはSWIGを使用してネイティブコードと通信できます。
  • 博士号を必要とせずに取得するのと同じくらい静的に入力
  • コンパイラAPIを介して実行時にコンパイルできます
  • いくつかの優れたコンパイラによって実行時にネイティブコードにコンパイルされます(オフラインコンパイラもあります)
  • 多数のデバッガーがあります

問題は、それが正確にスクリプト言語ではないということです。小さなタスクを実行するには、かなり多くの定型文を作成する必要があり、APIは通常かなり複雑です。

于 2011-05-06T17:20:52.037 に答える
0

Dはコンパイル可能であり、スクリプトとして実行できると確信しています。

于 2011-05-06T16:36:36.530 に答える