Dを実際のアプリケーションに使用している人はいますか?もしそうなら、あなたはそれを何に使用していますか?Dで書かれたウェブ上で大きなものを見つけることができないようです。
既知のビッグユーザーがいないにもかかわらず、Dは私にとって非常に有望な言語のようであり、TIOBEによると、Dはかなり人気があります。
Dを実際のアプリケーションに使用している人はいますか?もしそうなら、あなたはそれを何に使用していますか?Dで書かれたウェブ上で大きなものを見つけることができないようです。
既知のビッグユーザーがいないにもかかわらず、Dは私にとって非常に有望な言語のようであり、TIOBEによると、Dはかなり人気があります。
回答:
私はコンピュータグラフィックスの研究にDを使用しています。私や他の人は、Dを使用して行った研究に基づいて、私たちの分野で論文を発表しました。パフォーマンスが重要な中小規模の研究プロジェクトで使用する準備ができていると思います。とにかくゼロから始めることが多いので、統合について心配するレガシーコードがあまりないので、研究作業に適しています。
もう1つの一般的な使用分野は、Webサービスのようです。うまくいけば、この領域にいる人が誰か他の人がコメントできるといいのですが、そこにもパフォーマンスが重要であることが多いので、コンパイルして金属にしたい言語が欲しいという考えもあると思います。多くの場合、サービスはかなり小さい自己完結型のプロセスであるため、大量のレガシーC ++コードとの相互運用は実際には必要なく、有用でもありません。したがって、Dはドアに足を入れることができます。
私は、Dがこの方法で草の根の信者を獲得し続けると思います-どんな理由であれ、C ++のレガシーを捨てて、より楽しく、そしておそらくより生産的なプログラミング言語を手に入れることができる小さなプロジェクトでは。
しかし、草の根のユーザーが非常に多くなるまで、私が疑う大企業のユーザーの邪魔になることはほとんどありません。
私はDでバイオインフォマティクスの仕事をしています。私にとって、Dについての重要なことは、トレードオフに対して非常にレベルの高いアプローチを採用し、リターンの減少の原則を認識することです。
オーバーヘッドゼロの原則に厳密に準拠しているC ++とは異なり、Dでは、言語をより使いやすくすると、パフォーマンス/スペースのコストが小さい機能を使用できます。これらには、ガベージコレクション、各クラスのモニターオブジェクト、ランタイムタイプ情報などが含まれます。
Ruby、Python、PHPなどとは異なり、Dは動的ではなく、スクリプト言語よりもプログラミングが少し難しい場合でも、Cとほぼ同じ速度で処理しようとします。
その結果、開発時間と実行時間の両方がほぼ等しい場合に最適な言語が得られます。これは、私の分野ではほとんどの場合です。
同様に、Dは安全性と柔軟性に対して非常にレベルの高いアプローチをとっています。これは、プログラマーが基本的に何をしているかを知っているが、間違いをすることを前提としています。
CやC ++とは異なり、コード内のあらゆる場所でポインタ、安全でないキャスト、手動のメモリ管理などを使用したくないと想定し、エラーが発生しやすいため、マルチをふるいにかけたくないと想定しています。サイズ変更可能な配列を使用するためだけに台無しにすると、ページテンプレートのエラーメッセージが表示されます。
Javaや他の緊縛規律言語とは異なり、Dは、ポインター、安全でないキャスト、手動のメモリ管理などが必要な悪であると想定し、実際のテンプレートやオペレーターのオーバーロードなどを書くことなく処理できるほど賢いと想定しています難読化されたコード。また、アレイを台無しにして境界外にアクセスする可能性があることを前提としていますが、プログラマーは、特定の状況で安全性と速度の間でどのようなトレードオフを行う必要があるかを最もよく知っています。したがって、配列が境界チェックされるかどうかは、コンパイラスイッチによって簡単に決定されます。
メールサーバー製品を市場に送り出した小さめの会社を知っています。彼らには、少なくとも2人がフルタイムでプロジェクトに取り組んでいました。
また、ITビジネスの主要企業には、大規模な社内プロジェクトでDを使用する従業員が何人かいます。
さらに、ベンチャーファンドを探している1つの会社、パートタイムかフルタイムのいずれかでDを使用している小規模な会社の数人(少なくとも4人)の従業員、および少なくとも2人(私を含む)が積極的にコンサルティング市場で機会を求めていることを知っています。
おそらく私が知っておくべきいくつかを、おそらく聞いたことのないいくつかを省略しましたが、それはまだ存在します。なぜなら、上記は多かれ少なかれ私がコミュニティを通じて知っているものだからです。
私の現在の収入のごく一部はDから来ています。
私はWeb開発にDを使用していますが、C / C ++に比べてかなり生産性が高いことがわかりました。もちろん、ruby / php / pythonベースのフレームワークはたくさんあります。しかし、多くのスクリプト言語で行うように、Cと同じくらい速く、プログラミングするのと同じくらい簡単でなければならないユニークなものを開発したい場合は、Dが良い選択です。
Facebookは、本日より本番環境で使用していると発表しました。
コンパイル時のコード変換に関する研究でDを使用しています。高度なテンプレートとタプルやミックスインを組み合わせることで、コードの変換がはるかに簡単になり、コンパイル時にコード変換を行うことができ、別のツールを必要としません。
Dを使用して物理プログラムをDのメタプログラミングで強化する物理学者の例がいくつかあります。
ビデオ -会議の話、物理学者が使用するソースサイトが見つかりませんでした。
私たちの(トラフィックの多い)ネットワークインフラストラクチャ全体は、D1とtangoのみに基づいています。私たちはベルリンの若いスタートアップ企業です:sociomantic.com
Remedy Gamesのゲームには大きなD2コードベースがあるようです(Manu Evansによるゲームエンジンと一緒にDを使用する -DConf 2013を参照)。
彼らは大企業であり、大企業がDを使用していることを知っていることは非常に良いことです。
ABA Gamesによってリリースされたゲームの多くはD 1.xで書かれていますが、コンソールポートはC ++で書き直す必要があると思います。
私はDでかなりの数のゲームプロトタイプを作成しましたが、私が自分の利益のためにそれらを作成し、それらのいずれもリリースしたことがないので、それが「実世界」に該当するかどうかはわかりません。
さまざまなハードウェアテストステーションから、トレーサビリティなどの標準化された出力形式にテスタープロトコルを変換するためのソフトウェアを作成しました(現在も維持および開発しています)。
D 1.xとPhobosライブラリで記述された5k行を超えるコードをすべて一緒に。
Dはとても簡単に習得でき、(フォボスライブラリにある)いくつかの落とし穴を無視して、プログラミングする本当の喜びを感じます。
グローバル最適化アルゴリズムの開発に関する研究プロジェクトでは、Dを使用しました。ニューラルネットワークのトレーニングの問題にそれを適用しました。この「現実の世界」と呼ぶかどうかはあなた次第です。
OS XでDGCCをビルドするラッパースクリプトを作成しました
http://github.com/davecheney/make-gdc-apple/tree/master
他のDMDプログラマーの話を聞きたい
私はバージョンの2番目の標準であるD2を使用します。リアルタイムアプリケーション(3Dエンジンなど)を作成しました。
言語は毎日ますます強力になっています。Dは非常に実用的であり、すべての組み込み機能、特にメタプログラミングパラダイムは、私の意見ではC ++よりもはるかに優れています。構文がより明確になり、filterやreduceなどの関数を介して関数型プログラミングの長所を利用でき、最も重要な機能の1つであるすべてのCライブラリを使用できます。
間違いなく私のお気に入りの言語であり、私はそれが普及中古言語になると確信しています。
私はこの質問に対する即時の回答の欠如に何かを読むことができると思います、そしてそれは多くの/どんな活発なスタックオーバーフローレスポンダもDを使用していないということです。リンクします。
そうは言っても、ウォルターブライトは何年も前からこの言語に取り組んできており、90年代にZortech C ++コンパイラを使ってどのように優れた仕事をしたかを覚えているかなりの数の「フォロワー」がいると思います。また、言語は現在、機能的な方向に傾いているようです。
Dの公式ウェブサイトは、現在Dを使用している組織を列挙しています。
Dのwikiにはまた、組織のリストを提供しますが、それは時代遅れです。
そこにいるほとんどすべての人が何らかの会社で働いており、彼らは職場でDを使用しています。
内部ツールの一部をPerlからDに書き直すプロジェクトを始めています。言語の設計哲学にかなり興奮しているので、Dを選びました。私は長い間プログラミングをしていて、アセンブラーから高水準(主にC)からスクリプト言語(主にPerl)まで、多くの言語を使用しており、Dは私が長年にわたって学習に熱心に取り組んだ最初の言語です。
私は1つの主な理由であるセキュリティのために、コンパイルされた言語に移行することに決めました。機能的には、Perlは私が取り組んでいるツールセットに対しては非常にうまく機能しますが、それは安全ではありません。スクリプトを実行できる人なら誰でも、独自の修正バージョンのツールを読み取り、コピー、作成できます。(そしてそうです)この問題を回避するための遠回りの方法があることを知っていますが、正直なところ、それらすべてを管理するのに十分な時間がありませんが、それでも私の主要な仕事を完了します。