D を試してみたいのですが、どのコンパイラを使用すればよいかよくわかりません。このトピックに関するいくつかの記事と SO の質問を見つけましたが、最新の記事は見つかりませんでした。
各コンパイラの利点と欠点は何ですか? 現時点では、DMD コンパイラが最適だと思われますが、古い情報に惑わされているだけかもしれません。
D を試してみたいのですが、どのコンパイラを使用すればよいかよくわかりません。このトピックに関するいくつかの記事と SO の質問を見つけましたが、最新の記事は見つかりませんでした。
各コンパイラの利点と欠点は何ですか? 現時点では、DMD コンパイラが最適だと思われますが、古い情報に惑わされているだけかもしれません。
主要な 3 つの D コンパイラ (dmd、gdc、ldc) はすべて同じフロントエンドを使用しますが、dmd はリファレンス コンパイラであるため、一般的に他のコンパイラよりも少し進んでいます。また、他の 2 つはまだ一部の機能を実装していない場合がいくつかあると思いますが (主に Windows または OS X IIRC で)、一般的には問題なく動作します。gdc または ldc の主な利点は、より高速なコードを生成できることです (ただし、どれだけ高速かはコードによって異なります)。ただし、コードのコンパイルにも時間がかかります。
そのため、始めたばかりの場合は、気にせずに dmd を使用することをお勧めします。最新のコンパイラであることが保証されており、ほとんどの人が使用していると思います。その主な欠点は、生成されるコードがそれほど高速ではないことですが、それが本当に気になる場合は、後で他のコンパイラを調べることができます。
プロダクション コードの場合、私が一般的に採用するアプローチは、dmd を使用して開発し、gdc または ldc を使用してプロダクション コードを生成することです。そうすれば、コードを開発するときのコンパイル時間は短縮されますが、運用環境ではより高速なバイナリを取得できます。