私はDを学ぶことに決めました。私はどの標準ライブラリを使うべきか疑問に思っています。私はPhobosまたはTangoを使用する必要がありますか?それぞれの長所と短所は何ですか?PhobosまたはTangoを使用する必要がありますか?
答えて
タンゴ。適切な場所にはオブジェクト指向です(STLやJava Collectionsなど)、アクティブな開発チームを持っています。これはまもなく公式コンパイラに組み込まれるかもしれません。Learn to Tango with Dなどの実際のドキュメントがあります。 。
すぐにタンゴがウォルターのリリースに組み込まれるようです。
この投稿が書かれた2009年にこのコメントが当てはまりましたが、もはやそうではありません。タンゴはD2のために存在していなくても、今はごくわずかです。フォボスの開発は大きく開き、多くの愛を受けています。 – Dwayne
D2ワールドにタンゴをもたらすTangoD2プロジェクトがあります。 Phobosが適切なストリームIOパッケージ(PhobosのストリームAPIは推奨されていません!)を取得するまでは、少なくとも見てみる価値があります。 – DejanLekic
を私はリンク – jfs
@FeepingCreatureに人間が読めるタイトルを追加しました、そのドキュメントをWiki4Dのどこかに追加するか、「Dプログラミング言語」Googleグループのページとして追加することをお勧めしますか? –
私は(ちょっと...)の両方で少し経験を持っていた
フォボスはよりフラットやPythonのような、しかし非常に不完全です。
タンゴはJavaのようなものです。単純なことが複雑になります。
タンゴに依存するライブラリ(DWTなど)が必要な場合を除き、私は個人的にはフォボスに行くことを好みます。
タンゴについて嫌いなことの1つは、それ自体がPhobosと互換性がないということです。 – hasen
タンゴは素晴らしいプロジェクトでした。 Javaに似ているという評論家はナンセンスです。何かJavaの影響があった場合、Tangoは、今日も活発に開発されていないときに私が見てきた最高のデザインライブラリです...しかし、Phobosは常に標準ライブラリであったので、常にタンゴの代わりにPhobosを勧めてきました。 – DejanLekic
は、タンゴを使用し、フォボス
を使用しています。
そして、D2を学ばなければならないので、Phobosを使用してください。簡単じゃない?
注:D2用のPhobosは、D1にとってはるかに強力で大きなものです。
タンゴは現在古くなっています。それはDの古いバージョンでのみ動作します。 私の意見では、フォボスは唯一の方法です。
分割されたライブラリ引数のすべてが実行されていたとき、私はdをフォローしていませんでしたが、D2がリリースされたときにタンゴが消えた理由はたくさんありました。
タンゴを復活させることを目的とした小さな努力がありますが、私の意見では、標準ライブラリの分割はD全体を傷つけるだけです。
また、Phobosはいくつかの大きなイベントを除いて、Dのすべてのリリースでサポートされることが事実上保証されています.DangoがD2に正常に移植されたとしても、再び放棄される可能性があります。
私の意見では、(Boostを実際に使用したことがない)TangoはBoostによく似ていて、Phobosはよりエレガントです。上で述べたように、Phobosを使うことはPythonによく似ています。 Dispelling Common D Mythsから
:
フォボスはD'sの標準のlib、期間です。 Tangoはオプションですが、Phobosと互換性のある第三者のライブラリです。それがすべてです。
- 1. iOSはNSMutableArrayまたはNSMutableDictionaryを使用する必要がありますか?
- 2. 私はurandomまたはopenssl_random_pseudo_bytesを使用する必要がありますか?
- 3. はcaptchaを使用する必要がありますか?
- 4. 私はフォームタグを使用する必要がありますか?
- 5. @synthesizeをまだ使用する必要がありますか?
- 6. AppDomain.CurrentDomain.BaseDirectoryまたはSystem.Environment.CurrentDirectoryを使用する必要がありますか?
- 7. scipy.pi、numpy.pi、またはmath.piを使用する必要がありますか?
- 8. タイマー、ハンドラ、またはASyncTaskを使用する必要がありますか?
- 9. GetまたはLoad-nhibernateを使用する必要がありますか?
- 10. Drupal 6またはDrupal 7を使用する必要がありますか?
- 11. オブジェクトリテラルまたはコンストラクタ関数を使用する必要がありますか?
- 12. Cloudantでセレクタまたはビューを使用する必要がありますか?
- 13. WFでステートマシンまたはシーケンスワークフローを使用する必要がありますか?
- 14. SQLiteデータベースバージョン2.1または3.0を使用する必要がありますか?
- 15. .Net 4.5:IDataErrorInfoまたはINotifyDataErrorInfoを使用する必要がありますか?
- 16. NavigatorまたはView Stateを使用する必要がありますか?
- 17. テキストファイルまたはデータベースを使用する必要がありますか?
- 18. RSAProtectedConfigurationProviderまたはMy Own Providerを使用する必要がありますか?
- 19. リスナーまたはオブザーバーを使用する必要がありますか?
- 20. アプリケーションにAsyncTaskまたはIntentServiceを使用する必要がありますか?
- 21. ビューでディスパッチイベントまたはファイアイベントを使用する必要がありますか?
- 22. CouchDBまたはSimpleDBを使用する必要がありますか?
- 23. JavaScriptでwindow.navigateまたはdocument.locationを使用する必要がありますか?
- 24. データセットまたはデータテーブルを使用する必要がありますか?
- 25. NSOperationまたはNSRunLoopを使用する必要がありますか?
- 26. ジオコーディング - APIまたはデータベースを使用する必要がありますか?
- 27. JSONまたはXMLを使用する必要がありますか?
- 28. Symfony2では、エンティティまたはカスタムリポジトリを使用する必要があります
- 29. 私はPurePDFまたはAlivePdfを使用する必要があります
- 30. InitCommonControlsEx()とInitCommonControls()を使用する必要がありますか?
また、ここで見てみましょう。 –
dirkgently