6

私は比較的初心者のプログラマーで、Visual Basic や Python をいくつか使用したことがあり、最近、より高速な言語を求めて Java や C++ を検討し始めました。これらの言語が高速である主な理由は、それらがコンパイルされている (または Java の場合、ほとんどがコンパイルされている) ことのようです。これにより、高速化のためにコンパイルされた Python のような簡単な言語を作成することは可能でしょうか?という質問に至りました。

インタープリター型言語の利点は、主に変数のスコープと型を動的にできることです。ただし、これにより全体的に (私の小さな経験では) コードの長さがわずかに短縮されます (おそらく 10% 未満で、public 修飾子または int を追加するのは 1 語にすぎません)。また、真のコンパイル済み言語 (C++ など) でガベージ コレクションが可能かどうかはわかりませんが、C++ と同じくらい高速/高速な Java で使用できます。

非常に簡単な構文 (Python など) で言語を作成し、いくつかの小さな変更 (静的変数) を加えて、Java/C++ でコンパイルし、そこから非常に高速なプログラムにコンパイルできるようにすることは可能ですか?

たとえば、私が現在持っている Java の非常に限られたビューでは、何かを印刷するには、次のように書く必要があります。

System.out.println("print this");

ただし、Python 3 では、次のように記述します。

print("print this")

誰かがこの理論上の言語で書いた場合print("print this")、それはSystem.out.println("print this");コンパイルされてから JVM バイトコードにコンパイルされます。このタイプの言語は、高速な実行速度を維持しながら、おそらく制作時間を短縮できます。

4

4 に答える 4

2

ウィキペディアによると、コンパイルされた言語であり、Python になじみのある構文を持つ Nim を見てください。まだ完全にリリースされていないと思います。しかし、あなたはまだそれを得ることができます。

C でのコーディングも可能で、Lua や Python インタープリターとのインターフェースも可能です。Nim は静的に型付けされた命令型プログラミング言語であり、実行時の効率を犠牲にすることなくプログラマーに究極の力を与えようとします。オーバーヘッドの反復子がなく、C にコンパイルすることで機能します。C++ コードでさえ生成できます。

Aporia IDE はhttps://github.com/nim-lang/Aporia https://en.wikipedia.org/wiki/Nim_(programming_language)で入手できます。

http://nim-lang.org/

例 Hello World プログラムは単純に次のとおりです。

echo "Hello World!"
于 2015-10-05T09:33:51.763 に答える
2

聖杯を探しているようですね。それは可能だと思います。しかし、優秀な人材で構成された大規模なチームが必要になります。そして時間。

PS Java がどのようにあなたにとって十分に速くないのかわかりません。私は Java プログラミング言語が大好きです。異なる言語で書かれた他のプログラムと比べて遅れは感じません。プログラム全体を 1 日で書きました。つまり開発スピードが速い。また、Java を書いている他の人々と一緒に仕事をするのもとても簡単です。eclipse などのツールを使用すると、同時にコーディングを行い、「比較/置換」などの機能を使用して作業を組み合わせることができます。

于 2012-01-02T02:57:39.523 に答える
1

Nim は、必要に応じて完全な低レベル機能を備えた新しい高レベル言語です。高水準言語として使用されるため、おそらくかなり安全です。また、よく開発された関数型プログラミング機能も備えています。それは C に "変換" され、次にバイナリに変換されます。(完璧な言語だと思います -- ついに!) http://nim-lang.org/0.11.3/nims.htmlを参照してください。

Cに「トランスパイル」する非常に単純な高水準言語が必要な場合は、バイナリにGenieがあります: https://wiki.gnome.org/action/show/Projects/Genie?action=show&redirect=Genie

于 2016-01-24T19:54:34.297 に答える
1

スカラはどうですか?これは JVM のバイト コードにコンパイルされ、スクリプト (動的) 言語で通常見られる多くの機能 (無名関数、高階関数、区切られた継続、パターン マッチング、型推論、特性、ミックスインなど) を備えています。ウィキペディアのページを見てください。詳細については。

于 2012-01-02T02:58:15.550 に答える