あるのですが、これが信頼できる代替手段Java、C++?[定休日]

StackOverflow https://stackoverflow.com/questions/146850

  •  02-07-2019
  •  | 
  •  

質問

D言語 信頼できる代替手段Java、C++?かってくるのではないかと思いまを信頼できる代替?るべきか迷惑に学ぶのですか?なもの宣教的?

その理由を問をすることは、新たなC++の標準c++0x)ほとんどがここで明らかに思えたことを語っても、過去の返還に関して誰にも理解します。知っているC/C++のない金型である必要があります。もCOBOLたその日およびJavaには多くの点で下記のいずれかから選択可能です。では次に何をするかについて話す。はDら?

役に立ちましたか?

解決

実世界のソフトウェア開発のためのプログラミング言語の成功と人気を決定するものは、言語自体の品質に部分的にのみ関連しています。純粋な言語として、DにはC ++やJavaよりも多くの利点があると考えられます。少なくとも、純粋な言語としての信頼できる代替手段であり、他のすべての条件は同等です。

ただし、ソフトウェア開発には他のことも重要です-言語自体よりも重要です:移植性(実行するプラットフォームの数)、デバッガーサポート、IDEサポート、標準ライブラリー品質、動的ライブラリーサポート、共通APIのバインディング、ドキュメント、ほんの一例を挙げると、開発者コミュニティ、勢い、および商用サポートです。これらすべての点で、DはJava、C ++、C#の背後に絶望的です。実際、私はそれがいわゆる「スクリプティング」の背後にさえあると主張します。これらの点でPython、Perl、PHP、Ruby、さらにはJavaScriptのような言語。

率直に言って、Dを使用して大規模なクロスプラットフォームアプリケーションを構築することはできません。未熟な標準ライブラリでは、最新のIDEでのサポートはありません(両方のプラグインがありますVisual StudioおよびXamarin Studio / MonoDevelop)、制限付きの動的/共有ライブラリサポート、および他の言語へのバインディングがほとんどないため、Dは今日の選択肢ではありません。

Dの見た目が気に入ったら、ぜひ、それを学んでください。JavaとC ++をすでに知っていれば、それほど時間はかからないはずです。伝道は役に立たないと思います-この時点でDが成功する場合、本当に必要なのは静かにそれを使用し、標準ライブラリやIDEサポートなどの主要な欠点に対処する人が増えることです。

最後に、C ++に関しては、ほとんどの人が言語が複雑すぎることに同意しますが、数千の企業が、言語のより小さく、明確に定義されたサブセットのみを許可することにより、言語の健全な混合の一部としてC ++を正常に使用しています。未加工のパフォーマンスと小さなメモリ使用量の両方が必要な場合、C ++に勝つことは依然として困難です。

他のヒント

自分の経験をミックスに追加するだけです:

約1年前、私は3か月間続く小規模なゲームプロジェクト(3人のコーダー)に取り組み、そこでDを主要言語として使用しました。一部は実験として、一部は既にSDLと使用している他のいくつかのツールへのバインディングがあり、主にC ++よりも優れているように思われるためです。

私たちはそれを使うのが大好きでした。学ぶのは簡単で、書くのは簡単でした。その機能の多くはかけがえのないものであり、C ++に戻ってしまったことを懐かしく思います。

ただし、次の点が私たちの生活をより困難にしました:

  1. 当時、大きな問題であった良いIDEはありませんでした。結局、Sciteをカスタマイズして独自のものを作成しました。これは正常に機能しましたが、理想的ではありませんでした。
  2. 当時、デバッガはありませんでした。 WINDBGをヒットオアミスベースで動作させることができましたが、信頼できませんでした。デバッガーを使用せずにコードをデバッグすると、時々命にかかわることがありました。
  3. 当時選択できる標準ライブラリは2つありました(TangoとPhobos)。私たちは一方から始め、もう一方に切り替えましたが、実際には両方の機能の混合物が必要でした(Tangobos!)。これにより、頭痛の種といくつかのコードが書き直されました。
  4. 他のツールへのバインドは利用できません。最後に、DirectXに切り替える必要がありました(理由はありません)。 DirectXのバインディングは利用できなかったため、独自のC ++で記述し、.dllとしてビルドしてバインドする必要がありました。これはかなり厄介な作業であり、時間がかかりました。

全体として、Dを書くことが大好きでした。実際にコードを書くのが簡単になり、すぐに習得できました。私が言及した問題は、この質問に対して受け入れられた答えを反映しています-それは「追加」ですDのアドレス指定が必要なビット、そのコアは堅実です。

C ++が行き止まりの言語になりつつあることに同意します。過去17年間使用した後、C ++がそれを言うのは痛いです。

DはC ++の正当な後継者だと思います。言語の観点からは、「すべて正しいことをします」。 (たとえ毎分の決定に同意しなくても)。 CとC ++が衰退しつつある中で、現代言語の世界でそれ自体を支えながら、D! Dはこの役割を果たしているだけでなく、優れています! D1.xを見るだけでそのことを納得させることができますが、D2.0を見ると驚くでしょう。命令型プログラミングと関数型プログラミングのパラダイムを橋渡しするのにD2.0と同様に機能する他の言語は今日ないというのが私の意見です-これは今後数年でさらに重要になります。

主流の受け入れの欠如-または可視性-だけでなく、大規模で成熟したライブラリ- はもちろん障害です。しかし、このためにあなたがそれを帳消しにできるとは思わない。 Dは、今後数年以内にD が最も重要な言語の1つに成長することを確信しています。来ます。

違いは、主にAndrei Alexandrescuの関与によるものだと思います。それは、Dを世界にもたらす重要な仕事をしてきたウォルターブライトの信用を傷つけるものではありません。しかし、Alexandrescuは確かにC ++コミュニティの重要かつ説得力のある人物であり、潜在的なDスイッチャーのほとんどはどこから来るのでしょうか。また、関数型プログラミングのサポートにおいて、D2.0に重要かつ重要な貢献をしました。

Dはまだシステムレベルの言語のベータマックスになる運命にあると判明するかもしれませんが、私のお金は今後2年以内に好転しています。

私は、Dが天才の作品であり、主に心が1つであることを気に入っています。WalterBrightのZortechコンパイラーは当時素晴らしいものでした。

対照的に、Bjarneが影響力を持っていても、委員会によるC ++の設計は多すぎます。あまりにも多くのアドオン機能と奇妙な新しい構文。この違いは、学習の容易さと日常の使いやすさ、バグの減少に反映されています。

一貫性のある言語は、生産性とプログラマの喜びを高めますが、これは主観的で議論の余地があります! (私は自分の答えに投票する必要があると思います)

Dは良い言語ですまともな人気 、しかし、すべての言語と同様に、それは単なる別のツールです。どのツールを使用するかは、あなたがどのような人であるか、どのように考えているか、あなたが働いている環境、プログラムに適用される言語の制限、そして最も重要なのはプログラム自体に依存します。時間がある場合は、D。最悪のシナリオを学習することをお勧めします。決して使用しないでください。より多くの場合、あなたが最も気に入っているのはどの側面で、どの条件で最も輝いているのかを学び、新しいプログラムを作成するときにそれを利用します。

D比較チャートを見て、どのような機能があるかを確認することをお勧めします言語用であり、自分に合っているかどうかを確認します。

D言語は現代的です。完璧な言語はありません。これについては疑いの余地はありません。しかし、言語は生活を楽にするために生まれました。 C言語と比較したD言語には、複雑さの点で多くの優れた機能があります。他の多くの言語の組み合わせの専門分野が関係しており、他の言語によって導入されたTOP機能により、コーダーがより速くコーディングするのに役立ちます。こちらもご覧ください: Dおよびその他の言語の詳細

  • D対C ++は、互換性です。巨大なC ++言語が関係し、Dとの互換性が必要です。

  • D対C ++、C ++は私の意見では非常に素晴らしい言語ですが、コーディングが難しく、時間がかかり、成功するにはより多くの経験が必要ですが、Dはシンプルに同じことを行うことができます

  • D対C ++、C ++がそうであるかどうかはわかりませんが、Dは" auto"を使用して型制限変数の割り当てを許可しません。

  • D対C ++。他の言語の経験がある場合は、すぐに使い始めることができ、簡単な学習ロードマップがあり、強力な経験豊富なチームと会社のサポートによって設計されています

  • D対C ++、私がDで見つけた非常に素晴らしいことは、コードスタイルです。C/ C ++とまったく同じルックアンドフィールを提供しますが、コーディングすることで、本当にモダンなC / C ++ D

  • と呼ばれる

D言語にはもっと多くの正当な理由があります。言語を過小評価する理由はなく、常にユーザーが選択します。

それは本当にあなたのニーズに依存します-Dで書かれた大規模な商用アプリケーションはサーバー側に存在します 、そしてそのためにはD(通常Tango / Mangoを使用)が最適です。他の言語/プラットフォームよりも多くのリクエストを処理できる可能性があります。

プロトコルと対話性(多くの場合)の点でより専門的なソリューションの場合、必要なライブラリを見つけるのに問題が多くなり、ツールの欠如がより多くの影響を与える可能性があります。

Dは非常に印象的で、Andreiのそれに関する本はよく書かれています。しかし、他の人が言ったように、ツールとプラットフォームのサポートが必要です。 GDCは、時間の経過とともに、両方の答えになる可能性があります。

これを見ましたか?

" GNUデバッガーはD言語サポートを追加します&quot ;: http:// www。 linux.com/news/enterprise/biz-enterprise/358956-gnu-debugger-adds-d-language-support

また、digitalmarsサイトには、CとC ++へのインターフェースについて議論するページがあります(これなしでは生きていけないライブラリの場合)。 Cヘッダーファイルが与えられた場合、Dプロトタイプの作成時に突き刺すようなツールはあるのでしょうか。

個人的には、Dで大規模なプロジェクトを行うことについては現時点ではプッシュしませんが、社内のツールにDを使用し、経験を積み、他の人に紹介します。 p>

元の質問は、DがJavaとC ++の信頼できる代替物であるかどうかでした。 DとJavaは実際にはあまり競争しないと思います。 DはC ++と競合し、現在はGoです。他の質問では、DとGoの違いに対処していますが、Goは一般に使いやすいと考えられています。だから、Dの未来は、現在の丘の王であるC ++と、Googleの支援を受けているはるかに簡単な代替手段であるGoとの間に息を吹き込む余地に大きく依存しているのではないかと思う。

更新: Andreiの本のお気に入りの章、並行性に関するものは、オンラインで無料で利用できます。間違いなく読む価値があります!

そして、ここに相対的なメリット/目的/アプローチについての長い議論がありますGoとDの

質問が回答されたようです。 DはC ++と比較して優れた言語です。

実用的な目的のためにDがより良いインフラストラクチャを持っているかどうかという問題は二次的です。

要するに、それらが両方ともまったくサポートされていないまったく新しい言語である場合、Dはより良い言語であり、それはより良い言語です。

言語として、DはC ++よりもC#に近いといつも感じていました。機能やライブラリではなく、「フィーリング」で。それはずっときれいで、もっと...楽しい(C ++より)。 私見信頼できる代替になる最大の障害は、ツール、IDE、およびデバッガーです。 Dが広範な使用/採用の障害を克服すると、より多くのツールとライブラリが現れます。 (使用可能なIDEとデバッガーがある場合、私自身はDに戻ります。)

本作のために自分のペット。今では使用雇用者"のプロジェクトが分からずどうしてでしている人のソース後に移ります。ありません技術的な理由によりこれを避けるために、少なくとも、サポートす。(knock on wood)

1つのアプローチは、お住まいの地域の仕事を検索することです。やりたい仕事を見つけて、彼らが求めているスキルを確認します。彼らがC ++またはRubyまたはOracleまたはDを要求している場合、それは主にあなたが望む仕事を得るのに役立つスキルです。

非常によく設計された言語のように見えます。 C-C ++-Objective Cよりはるかに優れています。 私はしばらくIDEやデバッガなしで生きることができますが、D 2.0のドキュメント化された優れたライブラリなしでは生きられません。

6か月後に確認します...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top