5

GoとRustの間で、ゲーム用のライブラリ(バインディングなし)を作成するためにどの言語を使用しますか?

Goは、ガベージコレクションに大きく依存する単純な言語です。Rustは、GCなしで安全に使用できるより複雑な言語であり、低レベルのシステムプログラミングに最適です。

4

2 に答える 2

14

私は2つの夏をRustに取り組んでいたので偏見がありますが、急速に変化する言語に追いつくために必要な時間を費やしても構わないと思っているなら、Rustはゲームに本当に適しています。非常に優れた同時実行プリミティブのセットが組み込まれているため、レンダリングエンジン、AIなどのさまざまなコンポーネントを簡単に分離して、マルチコアコンピューターを利用できます。ガベージコレクションの必要性を回避することも可能であるため、予測できないGCの一時停止について心配する必要はありません。これは、既存のCコードとうまく統合するように設計されており、データ型の多くはC型に直接マップされます。Rustのポリモーフィズムへのアプローチは、LLVMが実行されると、非常に優れたアセンブリにつながります。

最近の多くのゲームはWebブラウザーで実行されています。これは、Webブラウザーとゲームに同様の要件があることを示しています。Mozillaは、新しい並列ブラウザエンジンと一緒にRustを設計しています。これは、言語がゲームプログラミングでもうまく機能する方法で進化し続けることを意味します。

于 2012-09-27T23:37:27.387 に答える
1

Rust:これは、多くの既知のバグ、不完全な機能、および計画されている将来の変更を含むアルファレベルのソフトウェアです。自己責任で使用してください。しばらくの間、不安定さ、混乱、ソースレベルの非互換性が予想されます。 商用ゲームには向いていません。

Goforgamesでライブラリを作成することはできません。Goでライブラリを作成するためのサポートはありません。Goを使用すると、Goでのみ使用するmobule(ライブラリ)を作成できます。

GoではC++ライブラリを使用できます。ただし、C++ではGolibを使用できません。

RustまたはGoのゲームにはどの言語が適しているかを尋ねることができます。

UPDATE2015年 のGo1.4はAndroidのオフィス/ベータ版をサポートし、Go 1.5(2015 Summer)はiOSをサポートします。

今のところ、Android用にビルドするのは難しいです。Dockerイメージをインストールする必要があります

于 2012-09-27T14:21:18.410 に答える