• ベストアンサー

VBかC++かJavaかまよってます

最終的には、情報処理技術者試験の基本情報を目指して、情報検定の情報処理システム試験をうけてます。 今、”オブジェクト指向”を理解するために、VB6を少しやっていたので、VBがいいか、プログラマー時代、ポインタで悩み苦しんで、挫折したCをやって、C++がいいか、まったく初めてのJavaがいいか悩んでます。 どれにしても、今度は、”オブジェクト指向”っていう壁を乗り越えなければいけません。 アドバイスをお願いします。

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

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1619/5654)
回答No.2

オブジェクト指向を理解するのに何故VB6をやったのかわかりかねますが(VB6でもオブジェクト指向ぽいことはできはしますが)、その流れですとC++を除いたVisual Basic, Javaどちらでもよいかと。VB6とVisual Basic(.NET)は別物と思った方がいいと思いますよ。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

最初に。 オブジェクト指向というのは、プログラムの構造、作り方のことで、言語による向き不向きはあるものの、できない言語はありません。 極端な話しをすれば、どんな言語を使おうとも、最終的に実行されるのは機械語ですから、アセンブリでもオブジェクト指向プログラミングが可能ということになります。 逆に、オブジェクト指向言語と言われる言語を使っていても、ただダラダラ記述すれば、従来の手続き型プログラミングでしかありません。 例えば、Cで作られたプログラムの多くは、変更無しにC++で正常にコンパイルでき、仕様通りに動作します。 しかし、元がCなのでオブジェクトは使用していないことになります。 言語の勉強とオブジェクト指向の勉強は等価ではありません その3つから選ぶなら、Javaかな、と思います。 ・巧妙に隠されているだけで、C/C++でのメモリ管理、ポインタ操作と同じことが他言語でも行なわれています。 動作原理を理解するならC/C++のポインタ周りをしっかり復習するのがいいでしょう。 ・VB6とVB.Net以降とではまったく別言語と言えます。VBをやるなら、まったく新しい言語のつもりでやりましょう。 ・他の言語にするなら、 C#, Python, Ruby というあたりもよいです。

関連するQ&A

  • Cとjavaの違い

    学校でC言語プログラミングを学んでおり,新たにjavaも習うことになったのですが, C言語とjava言語の違いはどのような所なのでしょうか? java言語は「オブジェクト指向」ですが,C言語は何指向なのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • オブジェク指向について

    情報検定(J検) 情報システム試験の試験範囲にオブジェクト指向が入っていて、勉強したいのですが、なかなかいい参考書が見つかりません。 情報検定に合格したら、情報処理技術者試験も受験予定していますので、オブジェクト指向を学びたいのですが、何かいい本やURLはあるでしょうか

  • C++の将来性・・・

    昨年まで、C++プログラマをしていました。しかし恥ずかしながらぜんぜんオブジェクト指向じゃないコードを書いていました・・・ いまJavaで仕事していて感じるのですが、C++にはガベージコレクションがないので、実はオブジェクト指向プログラミングがとてもやりにくい言語ではないですか? そうなると、C++の必然性がなくなり、C Java C# に取って代わられてC++は消え去っていく言語なのでしょうか。 「いやC++はすばらしいオブジェクト指向言語だ!」というお叱りを期待しています。

  • Visual Basic.NETについて

    情報検定 情報システム試験にオブジェyくと指向の問題があるので、こちらでアドバイスを受けたときに、Javaがいいとのことで、Javaの導入がうまくいかず、恩師に相談しました。 恩師からはVisual Basicがいいとアドバイスを受けました。 VB2010の本もソフトもあるのでいつでも始められるのですが、本を読んでいたら、VB.NETはオブジェクト指向に完全対応してるとかいてあります。 VB程度でいいのか、VB.NETのがいいのか、アドバイスお願いします。

  • なぜ、VBよりC#を勧めるのですか?

    プログラミング初心者やBASIC経験者に対して、C#を勧める人が結構いるみたいです。 C#よりVB2005を勧めるといった人はほとんど見かけません。 BASIC系の言語を知っていればVBScriptやVBAなどの理解も早いと思いますし、VB.NET(2005含む)の方が参考書や参考Webページが多いように思われます(初心者向けの物は特に多いのでは…) VB6の頃はオブジェクト指向の機能が不完全でしたが、VB.NETになってからは、完全なオブジェクト指向言語となったように聞いていますが… C#の方が洗練されているとか美しいとかいった事を聞きますが、その程度の事は所詮好みの問題ではないでしょうか 生産性や開発コスト、プログラムの管理といった具体的な観点でC#を勧める理由が知りたいです。

  • VBがオブジェクト指向言語でない理由

    一般的にVBはオブジェクト指向ではない(VB7でその方向へ向かう)といわれていますが、実際にVBをさわり始め、いろんな本を読んでみると、 1)クラスが作成でき、構造体と関数を1つにまとめ、メンバ(プロパティ・メソッド)を定義付けできる 2)Implementsステートメントでクラスの継承が出来る と、ある程度のオブジェクト指向言語の要件を備えているように見えます。 といっても私はJAVAもSmallTalkも知らないので、「何が真のオブジェクト指向か」というのを良く判っていないのかも知れないのですが。 しかしC++関連書などを読んでいると出てくるクラスの使用例などはVBのそれと大差なく、なぜクラスの作成もできて、継承も可能なVBがオブジェクト指向ではないのか? という疑問がわいてきました。 JAVAとは何が違うのか? これが出来ないからオブジェクト指向ではないのだ! という理由をご存じの方、回答もらえればうれしいです。

  • オブジェクト指向の利点とは?

    汎用機でCOBOLのSEを10数年やってました。(今は自営業) COBOLはプロセス型の言語といわれているのに対して C言語はオブジェクト指向型の言語といわれています。 私はC言語やJAVAで開発したことはないのですが、 C言語、すなわちオブジェクト指向の利点ってなんでしょう? JAVA、C言語はオブジェクト指向ですよね。 私はソフトウェア開発技術者の資格など持っていますのでオブジェクト指向の表面的な意味は分かります。 ですが実際、アプリ開発時・運用時にどのような利点があるのかがイマイチ分かりません。 「どっちでもいいんじゃないか」なんて思ってしまいます。 プロセス指向(VB、COBOL等)とオブジェクト指向(C言語、JAVA)の差異って何なんでしょう。 よろしくお願いします。

  • PHPの次に学ぶとしたらJavaそれともC#?

    Javaは企業の多くが採用されていることから、解説書が数多く出回っているでしょう。オブジェクト指向やアルゴリズムの概念、サンプルコードなどの解説書のほとんどがJavaを占めるでしょう。しかし、C#はそのような解説書が少ないため、オブジェクト指向やアルゴリズムの概念を掴みにくいではないでしょうか。解説書の少なさからC#は学びにくいかと思います(C#言語自体は簡単かも知れませんが…)。 しかし、Windowsアプリの開発はJavaよりC#の方が向いているかも知れません。動作が速いですし、.exeからインストールできるなどのメリットがあると考えています。逆にJavaはGUIの動作は遅いし、.exeからインストールすることも出来ず、個人ユーザの多くが利用してくれなさそうなイメージがあると思います。 将来的にWindowsアプリとサーバサイド、Webでアプリとして動作するアプレットなど開発のしやすさの点から考えればJavaよりC#の方が需要があると思いますし、C#を採用していく企業も増えていくではないかという見方もあります。以上、私の解釈となりますが、どう思いますでしょうか。 また、PHPを学んだ私にとって第二言語はJavaそれともC#のどちらを学んだ方が良いでしょうか。個人的の趣味では企業向けのJavaよりC#の方が実用的ではないかと思います。皆様のご意見もお聞かせください。

    • ベストアンサー
    • Java
  • 新卒に求めるプログラミング力

    高校は工業高校に通っていてプログラミングについてはオブジェクト指向まで理解しています 高卒でプログラマーになるのですが、就職してからJavaやC#を触ることになると思います。 入社前までにここまでは理解しておいて欲しいというのはありますか? 会社のHPには技術的なことは入社してからで大丈夫とは書かれていました。 例)オブジェクト指向や継承、タイピングなど 自分で1からつくるなど、、

  • C ASP JAVA .NET C# の組める技術者って「VC++4.0」も組めるものなのでしょうか?

    C ASP JAVA .NET C# を組める技術者って (1)「VC++4.0」も組めるものなのでしょうか? (2)「VB」を組めるものなのでしょうか? (3)「VB.NET」を組めるものなのでしょうか? いずれも、仕事としてのProgramです。

専門家に質問してみよう