• ベストアンサー

VC++ と C++Builder

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

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

  • ベストアンサー
  • 5S6
  • ベストアンサー率29% (675/2291)
回答No.1

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で入れば拾えるかも知れません。 あとはここに書くとマズイですけど 検索のやり方次第で無料で手に入りますね。 ダウンロードして確認まではしていませんが、たくさんヒットしましたよ。 実際にダウンロードサイトもたくさん出てきましたし。

taakaa1307
質問者

お礼

ありがとうございます。 やはりVC++を頑張っておいた方が良いですかね。 C++Builderも試しています。 ネットワークアプリケーションを作るのが最終的な目的ですが、書籍の出だしから意味不明です・・・。具体的にはP2Pアプリケーションです。 大学でP2Pの研究室に配属予定なので、Winnyを調べていたらC++Builderで作られていると知ったのでC++Builderが気になっただけですが、VC++専門の参考書を買ってみようかと思います。 最新のバージョンに対応の書籍を買った方が良いのでしょうか? 最新版のVC++は難しいなど、変化はあるのでしょうか?

その他の回答 (3)

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.4

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

taakaa1307
質問者

お礼

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

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.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必須の方にはお勧め出来ません)

taakaa1307
質問者

お礼

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

  • 5S6
  • ベストアンサー率29% (675/2291)
回答No.2

ネットワーク系のアプリケーションは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の使い方、意味が分からない。ハンドルって? というレベルなら入門書が必要だと思いますけど。

taakaa1307
質問者

お礼

ありがとうございます。 頑張って勉強して完全匿名性のP2Pソフトを作ります。 作りたいのはまた別のアプリですが。 Linux系ですか…。ubuntu入れて勉強しているところです。 書籍はまさに僕が欲しかったタイプですが、レビューが酷いですねw ちゃんとソースコードが読めるようになってから買ってみたいと思います。 ハンドルなど詳しくは理解していなので、やはり入門書を買ってみます。

関連するQ&A

  • VC++かC++Builderか?

    現在開発環境としてVC++(Ver6.0)を使っていますが、 C++Builderの導入を考えています。 (上司がVC嫌いって話もありますが) こちらは全く使ったことがないのでよくわからないのですが、 両者の違い(?)、また使い勝手などご意見をお聞きしたいのです。 また、VCとC++Builder間での移植は容易に行えるものなのでしょうか? はっきりとした質問でなくてすみませんが、よろしくお願いします。

  • C++BuilderのコードをVC++用に変更するには?

    環境 WIN98 VC++6.0 MFC にて ネット上でちょうど私が知りたいことが載っているサイトを見つけました。 それは付箋ソフトの作り方を解説しているサイトです。 http://www.zdnet.co.jp/developer/0307/18/dvn06.html しかしながら、そのサイトではC++Builderを使っています。 C++BuilderのコードをVC++用に変更したいのですが、 お分かりでしたお教えください。 知りたいのは、以下のコードです。 C++Builder専用のコードかと思いましたが、調べるとSubStringはAPIだったのでVC++でも使えると思います。 Pos()は調べても分からなかったのですが、変わりになる関数は有るのでしょうか? ********************** // 「,」で区切られた文字列から要素を切り出す。 // メモデータのロードに使う static AnsiString GetToken(AnsiString &s) { AnsiString ret; // ,が文字列に含まれる場合、 // ,より前の文字列を戻り値とし、 // 引数の文字列の,以前を削除する。 // 例えば引数の文字列が"1,2,3"の場合、 // 戻り値は"1"、引数の文字列は"2,3"となる。 int pos=s.Pos(","); if (pos>=1) { ret=s.SubString(1,pos-1); s=s.SubString(pos+1,s.Length()-pos); return ret; }

  • C++とVC++の違いについて

    この質問をご覧頂きありがとうございます。 みなさんに2つ、お聞きしたいことがあり、質問させていただきます。 1.C++とVC++とでは、どのくらいの違い(どういう違い、特徴)があるのでしょうか? 2.また、これからC++/VC++でプログラミングを始めようとした場合、 C++からVC++へと段階を踏んで勉強した方がよいのでしょうか? 一応、私のプログラミングの履歴としては、 言語としてVisual Basicは多少勉強はしておりました。 また、オブジェクト指向の基礎程度(多相、継承、カプセル化)は理解しています。 抽象的な質問で大変恐縮なのですが、 みなさんの経験論や、ご参考にした本、HP等がありましたら、 ご教授いただければと思います。

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • C++Builder初心者の勉強法

    C++Builder初心者です。 プログラムといえばVBをかじった経験しかありません。 そんな初心者がC++Builderを理解したいのですが、 C++Builderは参考書籍が少なく困っています。 VC++のものを読んでも参考になるのでしょうか? また、VC++を読んだ場合、注意点等あるでしょうか?

  • C++ Builderを使って勉強したいのですが・・・

    C++ Builderを使って勉強したいのですが、購入しないとできないのでしょうか? それは最新のC++Builder 2009じゃなきゃ駄目なんでしょうか? トライアル版、無償バージョンというのでいいのなら、 http://www.codegear.com/jp/downloads/free/cppbuilder この中で、一般的にどれをつかえばいいのでしょうか?

  • VC++2010でWindowsアプリケーション

    VC++2010でWindowsアプリケーションを作るために、C++の勉強をしています。 書籍一冊(猫C++)がすべて理解できるようになったらWin32APIの勉強を始めようと思っていたのですが、サイトを見ているとウィンドウを作るだけでも何十行、覚えるのはそう簡単ではないと思いました。 それで、フォームデザインを勉強しようと思うのですが将来ソフトウェアエンジニアを目指すならどちらを勉強するのが妥当ですか? また、メールの自動返信プログラムやLINEの自動返信プログラムを作ろうと思うのですがこれらで可能ですか? よろしくお願いします。

  • C++Builderの選択

     いつも勉強させていただいています。どうぞよろしくお願いします。  今手元にあるアプリ(C++Builder5.0のソースコード付き)をいじりたく、 これを機会に初めてC++の勉強をしたいのですが(経験のある言語は Fortran、VBです)、C++Builderのどれを購入するかで迷っております。  ポイントとしましては、 ・上のC++Builder5.0のコードがコンパイル可能なもの  (先日、無料のBorland C++Compiler5.5をダウンロードしてコンパイルを試みても  できませんでしたorz (vcl.hというファイルが足りないようです)が、  C++Builderであればバージョン違いでもコンパイルできるのでしょうか?) ・書籍が比較的多いもの。(調べているとC++Builder6は比較的多そうな?気がしたのですが。。。) ・今後も暫く使えそうなもの。(C++Builder5 Personalとかかなり安いようなのですが、  皆さんもっと新しいもので開発なされているという事でしょうか。。。?) ・¥は7~8万くらいまで?  PersonalとProfessionalの違いや制限もよく分からないので、 もしお詳しい方がいらっしゃいましたら、ぜひ教えていただければと思います。  どうぞよろしくお願いします。

  • C++Builderに関するオススメの本?

    C++Builder5を使って,プログラムを作りながら プログラミングの勉強をしています。 そこで,オススメの本ありましたら教えていただけないでしょうか? (レベルは初心者向きのもの)

  • Visual C++ か Borland C Builderか?

    初めて質問いたします。 これまでC言語に対する経験はない者であります。  自分のスキルアップのために、C言語でのプログラミングをしていこうと 考えています。そこで質問なのですが、文字通りの初心者がC言語を学習 しようとする場合、そのはじめにはVisual C++ か BorlandC Builder のどちらで行うべきでしょうか?  過去の質問を見ていますと、すでにdelphiを使っている人が同様の質問を していたように思いますが、そうではなくて、これまでにProgramと言えば いわゆるDosのBasicのみ経験があります。(っていうことは、一般的には ほとんど未経験と同じ扱いですよね:苦笑)  目的としては、数値計算や測定機器の制御などを考えています。 しかしながら、まずは扱えないと話にならないと考えていますので、もし 導入にあたり、いいアドバイスがあれば教えて下さい。  よろしくお願いいたします。

専門家に質問してみよう