15

私は、C++ を使用したネイティブ コード開発にもっと取り組みたいと考えています。CodeGear C++ Builder 2009 と Visual Studio 2008 のどちらを使用する方がよいかを判断しようとしています。現在 Delphi 2007 を使用しているので、C++ Builder の IDE (Delphi と同じ) と、 VCL と RTL。

私は MFC の大ファンではありませんでしたが (VS 6.0 の時代に初めて MFC をいじって以来)、それ以来、詳しく調べていません。

最新バージョンであるかどうかに関係なく、両方の IDE を使用した経験のある専門家の意見を聞きたいと思っています。

VCL は MFC よりもはるかに堅牢で使いやすいと信じているため、現在は C++ Builder に傾倒していますが、前述のとおり、MFC を使用してからしばらく経ちました。.NET Framework に依存するプログラムの作成には興味がありません。ネイティブ開発を部分的に独学しているためです。MFC は今でも Windows C++ の王様ですか? それとも、WTL または ATL が重要ですか?

意見を共有したい C++ の達人はいますか?

編集: MFC が Visual Studio の唯一の GUI ツールキットではないことを理解しています。ただし、GUI ツールキット + IDE に基づくいくつかの推奨事項を探しています。C++ Builder の場合、実際のオプションは 1 つだけです。それは、C++ Builder + VCL です。VS 2008 の場合は、VS + MFC/ATL/WTL/QT です。よくわからないので混乱します。

4

15 に答える 15

16

Delphi の VCL は、C++ Builder で簡単に使用できることがわかります。C++ は TObject がすべて実際にはポインタであるという事実を隠しておらず (Delphi はこれを隠しています)、配列プロパティのようないくつかのものへのアクセス方法が異なるなど、いくつかの奇妙な点があります。

2、3 年前、私は C++Builder から抜け出す方法を探していましたが、最近のリリース (および Embarcadero による Codegear の買収) で、製品と方向性に満足しています。

C++Builder では、文字列型の数とさまざまな潜在的な非互換性が非常に苦痛であることがわかりますが、慣れるでしょう! (std::string、char[]、wchar_t[]、TCHAR、AnsiString、WideString、UnicodeString、String など)

個人的には、双方向の RAD と VCL があるため、C++ Builder に投票しますが、最新の C++ イディオムを学習するには最適な方法ではないかもしれません。

于 2009-01-12T23:25:24.057 に答える
10

簡単な答えは、純粋な C++ 開発では VC++ でなければならないということです。

拡張するには: 純粋な C++ 開発環境として、VC++ に勝るものはありません。デバッガーの方が優れており、IDE の方が優れています (もちろん、すべて私見です)。これらの理由により、C++Builder から使用するライブラリを開発するために使用しました。

ただし、UI 開発を開始した場合、または VCL またはコンポーネント C++B を使用して解決できるものは何でも、より適切な選択です。VCL と比較すると、MFC や ATL はひどいので、.NET を使用する必要があります。これはおそらくより良いオプションですが、そうではありません。

ここ数年のベンダーからの「指示」に基づいて、C++B または Delphi を使用して新製品を構築することをお勧めするかどうかはわかりません。しかし、それは良い方向に変化しているように見えますが、もう少し時間が経過するまで、約束がどのように実現するかを判断するのは困難です.

于 2009-01-13T00:20:06.643 に答える
6

Windows で純粋な C++ 開発を行っている場合、VS に勝るものはありません。コンパイラは高速で、標準に完全に準拠しており、適切に最適化されたコードを生成します。デバッガーは、どのプラットフォームでも最高です。IDE は問題ありません。

また、Windows で最も広くサポートされているコンパイラ ツールチェーンであることも明らかです。オープンソースのプロジェクト/ライブラリをダウンロードします。Windows がサポートされている場合は、VS を使用してビルドおよびテストされている可能性があります。その人気により、履歴書に載せるのに最も役立つことも保証されます.

Builder は何を提供しますか? 妥当な GUI ライブラリ。それは良いことですが、他にも優れた GUI ツールキットがたくさんあります (wxWidgets、GTK、Qt など)。多くはオープンソースでクロスプラットフォームです。

しかし最近では、アプリケーションを再構築して API を提供し、その上に別の言語で GUI を構築する方がよいと感じています。C++ の強みはGUI 開発ではありません。少なくとも今日は…

私は Builder よりも VS を選択し、推奨します。

于 2009-01-13T13:02:35.310 に答える
3

C++ Builder は、UI ベースの開発とデータベース指向のアプリケーションに関しては、MS-VS よりもはるかに優れています。MFCは最悪!! ただし、VS の方がデバッグ機能が優れています。

于 2010-02-25T10:51:27.163 に答える
2

私は数年前にC++Builderが大好きでした。それは素晴らしかったです。それは、その安っぽいMFCを備えたVSよりもそのVCLを備えた方がはるかに優れていました。その後、物事は毎年変化しています。

Builderがダウンしています。1.Builderは実際の機能で更新されていません。2. Borlandは、KylixおよびBuilderで使用するためにC++でVCLを書き直すというアイデアを放棄しました。3。CodeGearの混乱と、Builderの不確実な将来により、多くの人々が製品から離れました。

VSは良くなっています。1.IDEが大幅に改善されました2.Windowsプラットフォームで最も標準に準拠していないコンパイラが最も標準に準拠しました(もちろんMinGWのGCCは含まれません)3。.NETが登場し、ManagedC++とC++/がありましたC++内からこのフレームワークを使用できるようにするCLI

新しい強力なプレーヤーを獲得しました1.Eclipse2. Qt Creator

および新しいGUIツールキット

  1. wxWidgets
  2. Qt4にはオープンソースライセンスもあります

要約する; ボーランドのためにビルダーが死んだ

  1. Delphiはとても素晴らしいと思っていたので、お金を稼ぐために他に何も必要ありません
  2. Javaの誇大宣伝に陥り、それに多くのリソースを投資しました
  3. C ++の大きな力を理解せず、代わりにパスカルにスタックします。パスカルは常にアカデミックな言語であり、実際の製品は作成されていません。
于 2009-05-04T11:39:19.220 に答える
2

Eclipse + MinGW + Qt4 + QT Eclipse Integration を使用すると、デバッガー、ビジュアル GUI デザイナーなど、すべてのものを手に入れることができます。

Qt4 はデュアル ライセンスであることに注意してください: オープン ソースと商用ライセンスです。

また、Qt4 を Visual Studio (Express でも) と組み合わせて、VS が提供するすべての利点を利用できます。

私にとって Qt4 は道のりであり、VS は Builder よりも優れています。

于 2009-01-13T13:30:28.703 に答える
2

念のため、エクリプスをミックスに追加できますか?
Visual Studio で作業するよりも、Eclipse で作業する方が優れていることがわかりました。

Winforms で VS2008 を使用していない限り、GUI サポートは Windows テンプレート (通常はリソースから) を介して行われますが、これは古い帽子であり、おそらく使用したくないでしょう。したがって、VS2008 での GUI サポートは特別なものではありません。

GUIツールキットについては、おそらくWhat is a good GUI/widgets toolkitを参照してください

于 2009-01-13T02:21:20.860 に答える
2

すでに Delphi を知っているので、次に C++ Builder を使用します。MFC は VS6 の時代からあまり変わっていないため、MFC を使用して記述されたコードは依然としてたわごとのように見えます。ただし、VS は変更され、現在は非常に優れた IDE です。

また、C++ Builder は製品ラインとして安定していないことに注意してください。過去には、メンテナンスされていなかった/将来が明確でなかったなどの時期がありました.

于 2009-01-13T00:02:37.117 に答える
1

CodeGear による最新の C++ Builder (つまり 2009 バージョン) についての 1 つのことは、その更新により、この IDE が本当に嫌いになる可能性があるということです。
2 番目の更新プログラムをインストールした後、if/else ブロックが適切に機能しないことがわかりました。IF 文は入力できるが、else 文は入力できない - そして状況に依存しない - この言語命令は単に作業を停止しました。それを理解するのにかかった時間は約 2 ~ 3 時間で、必要な win32 アプリを VS で開発し始めました。CodeGear 製品よりも信頼性が高いと思います。2 番目の機能は、Unicode サポートをオフにすることができず、ANSI バージョンの win32 関数 (SendMessageA(...) など) を明示的に使用する必要があり、非常に退屈なことです。VS2008 を使用して仕事を終える締め切りにかろうじて間に合います。
これは私の経験にすぎません。選択はあなた次第です。

于 2009-01-13T08:20:41.823 に答える
1

Windows 開発に関して言えば、Visual Studio に勝るものはありません。非常に機能が豊富で、優れたデバッガーを備えています。言うまでもなく、遭遇する可能性のある問題を解決するための膨大なユーザー コミュニティもあります。企業の開発ツールが自社のオペレーティング システムに最適でなかったとしたら、ソフトウェアの世界での地位が危うくなるでしょう。しかし、余分な機能は必要なく、(MFC に加えて) ドラッグ アンド ドロップを備えた RAD ツールが絶対に必要な場合は、C++ ビルダーがそれほど遅れているわけではありません。デルファイ環境を事前に使用することは、あなたにとって利点に過ぎません。

于 2009-01-13T00:23:31.520 に答える
1

代わりにラザロを試してください。一度書いたら、たくさんコンパイルしてください。複数のプラットフォームで実行されます。Delphi と Kylix のバックグラウンドを持っている人なら誰でも、この RAD ツールに非常に親しみを感じるでしょう。将来的には、強力なコミュニティを持つオープンソースであり、商業的な制約なしに開発が続けられます。

于 2012-11-18T23:34:09.773 に答える
0

2012年ももうすぐ終わり。私は Borland C++ ユーザーでしたが、VC++ 6.0 に切り替えました。最近、自社製品の GUI エンドを必要とし、.NET フレームワークへの依存を望んでいないクライアントからの要件がありました。そこで、Embarcadero RAD Studio XE2 を調べてみました。

C++ RAD 開発に関して言えば、MSVC++ でさえそれに近いものはないと思います。そよ風のようでした。テンプレートをコンパイルするときに問題が見つかりましたが。たとえば、ファンクターを定義し、コンストラクターをファンクター呼び出しと組み合わせたい場合は、C++B では実行できません。オブジェクトを作成してから、ファンクターを個別に呼び出す必要があります。Poco ライブラリを完全にコンパイルできなかったため、他にも問題がありました。

VC++ で DLL を作成し、C++B フロントエンドから呼び出すことで解決策を見つけました。それは両方のベストを提供します。

Embarcadero がすぐに基準に追いつくことを願っています。

于 2012-11-18T04:27:27.537 に答える