みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VC++ と C++Builder

C++の基本的な構造は理解していて、Win32APIを勉強しようとVC++でプログラミングを始めた者です。参考書は猫でもわかるWindowsプログラミングを見ながら勉強しています(難しくてあまり理解出来ていませんが)。
しかし、機能が多すぎたりと使いこなす自信がありません。
C++Builderに変えてみようかと思っているのですが、VC++とC++Builderの違いを教えて下さい。漠然としすぎていてアホっぽい質問ですが・・。
VC++とC++Builderのプログラムの書き方の大きな違いなどはあるのでしょうか?
また、みっちり調べたつもりですが無償のBorlandC++Builderが見あたらないのですが・・・。

投稿日時 - 2010-02-14 17:14:40

QNo.5676203

すぐに回答ほしいです

質問者が選んだベストアンサー

VC++ができれば問題ありません
C++Builderはいろいろ買収されて今はエンバカデロというメーカーみたいですね。


企業で使う場合もマレでして、使う場合でもDelphiかKylixです。
Delphiは高速性に優れていますね。開発しやすいですが今は案件はないでしょう。

そもそもC++は高速性に優れ、算術演算なども適していますが、一般の業務アプリケーションには
不向きです。

宣言して、変数もその都度初期化が必要ですし、スタックオーバーフローとかの問題もありますから。


書き方に違いはありません。
スーパークラスがATL,MFCのMS系との違いです。昔ちょっとC++Builderやりましたが忘れました。
C++Builder のほうが優れているこことは言うまでもありませんが、情報が少ない。
ネットでも書籍でもMSに比べてとても少ないのが欠点であり、初心者にはわかりずらいです。

VCの無料である程度クラスの知識とかないと極めて難しいと思います。
ヘルプもきっと英語だろうし。

私も最初は
Win32APIのヘルプ見ても、なにがなんだかさっぱりでした。
今は理解できますが、当時はヘルプのヘルプが欲しくて、本当に苦労しましたよ。


C++Builder 2010 Architect - 30 day trial
https://downloads.embarcadero.com/free/c_builder
をダウンロード

C++Builder 6 Personalのキー
http://support.codegear.com/jp/article/39702

のキーを入れるとパーソナル(無料)として使えるかも知れません。

できなかったら、ここで登録するとできるかも。
https://members.embarcadero.com/Login.aspx?returnurl=http%3a%2f%2fcc.embarcadero.com%2fmyreg

既に買収されて、バージョンが今は異なるのでわかりません。
米国のサイトからftpで入れば拾えるかも知れません。


あとはここに書くとマズイですけど
検索のやり方次第で無料で手に入りますね。
ダウンロードして確認まではしていませんが、たくさんヒットしましたよ。
実際にダウンロードサイトもたくさん出てきましたし。

投稿日時 - 2010-02-14 17:56:33

お礼

ありがとうございます。
やはりVC++を頑張っておいた方が良いですかね。
C++Builderも試しています。

ネットワークアプリケーションを作るのが最終的な目的ですが、書籍の出だしから意味不明です・・・。具体的にはP2Pアプリケーションです。
大学でP2Pの研究室に配属予定なので、Winnyを調べていたらC++Builderで作られていると知ったのでC++Builderが気になっただけですが、VC++専門の参考書を買ってみようかと思います。

最新のバージョンに対応の書籍を買った方が良いのでしょうか?
最新版のVC++は難しいなど、変化はあるのでしょうか?

投稿日時 - 2010-02-14 18:50:39

ANo.1

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

WindowsはPOSIXをサポートしていますのでマルチスレッドはC++BuilderでもVC++4.0でも問題無く作れます。
LinuxではThreadがチャイルドプロセスで擬似的に実現されているので難しいです。
ソケットに関してはLinuxはストリーム扱い、WindowsはI/O扱いである違いはありますがソースコードはWinSockとバークレーソケットは互換性があります。
ただ、PROXYを使う場合にはMFCを使った方が圧倒的に楽に組めますし、暗号化関連は.NETを使った方が楽です。

投稿日時 - 2010-02-14 20:30:42

お礼

ありがとうございます。
大変申し訳無いのですが、半分ぐらいしか理解出来ません…。
どちらかと言うと、VC++の方が良いといった感じでしょうか?

投稿日時 - 2010-02-15 02:30:20

ANo.3

VC++はWindowsアプリケーションの構造を理解している事を前提に設計されています。
メッセージハンドラが隠蔽されておらずプログラマ責任で定義する作りになっている(無論、ウイザードがありますが完全ではありません)
その為、最初の敷居が物凄く高くて一通りWindowsアプリケーションが作れるようになる迄に覚えなければならない事が多いです。
C++Builderはその辺りがVCLで巧妙にラップされており最初の敷居は低くすぐにWindowsアプリを作る事が出きます。
ですが、VCLによるラップが巧妙であるがゆえに基本的なコントロールに手を入れるのが難しいです。
※VC++ならコントロールの派生クラスを作るだけで簡単に出来るカスタマイズと同じことをC++Bulderで実現するのに苦労します。
C++Builderの無償版はTuebo C++ ExplorerですがC++Builder2010の発売と同時に配付を終了していますので現在はC++Builder2010トライアル版しか無い筈です。

VC++使えるプログラマはそれなりに需要あります。(習得に時間かかるので)
そういうのでなくて手っ取り早くWindowsアプリを作りたい人にはC++Builderはお勧めです。(DirectXやOpenGL必須の方にはお勧め出来ません)

投稿日時 - 2010-02-14 20:07:54

お礼

ありがとうございます。
プログラマー志望というわけではないのですが、なるべく深く勉強したいのでVC++をもう少し使ってみます。
と言っても猫でもわかる事が全然理解出来ていませんが…。

投稿日時 - 2010-02-15 02:15:27

ANo.2

5S6

ネットワーク系のアプリケーションはWindowsでは適しません。
いろいろ制限があるので。
Linux系のほうがいいですよ。
ハッカー系というか、任意のパケットを送信できるので。

P2Pも暗号化を強化し、RSA,blowfish,AESとか暗号で盗聴を防止して欲しいですね(w

BitTorrentのソースコードとかを解読できれば参考になると思います。

あとはこんなもので。
http://www.amazon.co.jp/%E3%81%84%E3%81%BE%E3%81%A9%E3%81%8D%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%85%B1%E6%9C%89%E3%82%BD%E3%83%95%E3%83%88%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E6%A9%8B%E6%9C%AC-%E5%92%8C%E6%98%8E/dp/4839918791



ネットワークスペシャリスト資格は持っているんですが。・・・
暗号とかの自作プログラムは昔雑誌に掲載されたこともあります。
昔興味のあったのはウイルスのプログラムですかね。
ソースは探せばたくさんあるので、ちょっと編集しただけでウイルスチェックには
ひっかからないようになるし。

ソケットプログラミングは私はわかりません。

VCの最新版については.NET Framework の新バージョン対応とか新しいAPI(Win7)とかに対応程度ですね。
ネットワーク関係のプログラムならほぼ関係ありません。
無理に最新版を手に入れる必要も無いし、企業向けのEnterpriseとかも必要ありません。

マルチスレッドプログラムは2008から対応?
最近はプログラムの世界から離れているのでわかりません。

書籍については、基本的レベルを理解されているならネットで調べた方が早いです。
MSDNを読めるレベルなら必要ないでしょう。

クラスって何?
APIの使い方、意味が分からない。ハンドルって?
というレベルなら入門書が必要だと思いますけど。

投稿日時 - 2010-02-14 20:04:36

お礼

ありがとうございます。
頑張って勉強して完全匿名性のP2Pソフトを作ります。
作りたいのはまた別のアプリですが。
Linux系ですか…。ubuntu入れて勉強しているところです。

書籍はまさに僕が欲しかったタイプですが、レビューが酷いですねw
ちゃんとソースコードが読めるようになってから買ってみたいと思います。

ハンドルなど詳しくは理解していなので、やはり入門書を買ってみます。

投稿日時 - 2010-02-15 02:11:36

あなたにオススメの質問