19

ここの誰かがDプログラミング言語の経験をしたことがありますか?

多くの優れた機能があるようですが、C ++、Java、C#などの現在普及している言語の人気に達することはありますか?

それで、それは学ぶ価値がありますか、それともマイナーな見通しを持つ孤立した言語ですか?

4

2 に答える 2

38

D を C++ や Java と比較するために、数日間 D をいじってみました。これは、C++ と同じことを達成する別の方法として位置付けられていますが、未定義の動作がまったくなく、ガベージ コレクター、foreach ループ、およびその他の最新の機能が追加されています。ネイティブ コードにコンパイルされるため、このシナリオで発生する可能性のある通常の最適化すべてにアクセスできます。

C言語全体は、言語の大部分が構築される下位レベルのビルディングブロックとして、Dのサブセットとしてカプセル化されています。これは移植性に役立ちますが、D が単一の一貫した方法論に進化するのを防ぎます。

D で任意の C 関数をネイティブに実行できる機能により、システム プログラミング (オペレーティング システム、ドライバーなど) を含める可能性の領域が開かれます。

D で一般的に使用される 2 つのクラス フレームワークがあります。デフォルトは Phobos です。これはかなり質素でシンプルな設計であるため、必要な構造を作成できますが、大規模または複雑なビルディング ブロックはほとんど提供されません。もう 1 つはTangoです。これは、Java クラス ライブラリを連想させ、より完全なフレームワークを含んでいます。2 つのライブラリの相互運用性を可能にするプロジェクトもあります。

私の経験では、D はコーディングに非常に優れた言語であり、C# や Java と多くの共通点があり、C やアセンブリの相互運用性を介して未加工の機械にアクセスできます。私が見る主な制限は、適切な開発ツールのサポートがないことです。そこにはいくつかの IDE とプラグインがありますが、完全なものはありません。そのため、当面はテキスト エディターとコマンド ライン ビルド ツールを使用する方がよいかもしれません。

この言語には、D1 と D2 の 2 つのバージョンがあります。現在のところ、D1 はフレームワークとコンパイラによってより適切にサポートされており、D2 には、言語の取り扱いと使用を容易にするいくつかの便利な機能が追加されています。

更新 (2009 年 6 月):私は最近 D をもう一度調べていて、 DSourceに 注意を向けるべきだと考えました。これには現在、多数の異なるコンパイラ プロジェクトがあり、Tango ライブラリ、さまざまなバインディング、いくつかの GUI ツールキット、およびいくつかの IDE。プロジェクトの中には初期段階で放棄されたものもありますが、今日ではかなりの数のプロジェクトが順調に進んでおり、順調に進んでいると思います。この段階では、D の成功は、その先祖よりもオープン ソースの動きによって決定されるように見えます。

更新 (2012 年 2 月) 前回の編集以降、D についてはあまり調べていませんが、すばらしい本The D Programming Languageのサポートにより、D2 が公開されたことをお知らせします。Alexandrescu の典型であり、テンプレートの制約を含むテンプレート システムの多くの詳細を公開します。これにより、D は現在の C++ の状態よりもはるかに表現力があり、タイプ セーフなツールになります。

2009 年以降、この本を読む以外に、D 言語やそのツール、コミュニティとはまったく接触していないので、現在までの D 言語の成熟や成長についてコメントすることはできません。仕事で言語を使用することを許可されているプロのプログラマーの少数の幹部を知っていますが、私たちのほとんどは一般的に、D が最適であるべき領域で C++ やその他の一般的な言語で立ち往生しています。

于 2009-05-26T08:54:19.193 に答える
1

言語の人気度などを見ると、Tiobe が優れたリソースであることがわかりましたhttp://www.tiobe.com/content/paperinfo/tpci/index.html

ご覧のとおり、D はトップ 20 に入っています。

于 2009-06-12T00:56:01.847 に答える