• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語からC++に移行できない原因は何でしょうか?)

C言語からC++に移行できない原因は何でしょうか?

このQ&Aのポイント
  • C言語からC++に移行する方法を知りたいです。
  • C++の本が少なく、オブジェクト指向が理解できず挫折しました。
  • CもC++も似ていると言われましたが、実際には異なる要素も多く、イメージが沸かない状態です。

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1583/2308)
回答No.4

「C++の本がまずほとんど売られていない」というのは一体いつの時代の話なのでしょうか。書籍「プログラミング言語C++」の日本語初版は1988年、Microsoft Visual C++バージョン1.0の登場は1993年で、1990年代半ばにはC++の日本語の書籍は多数出版されていました。 一口にオブジェクト指向と言っても、厄介なことにそのスタイルはプログラミング言語ごとに様々です。 C言語にオブジェクト指向拡張を施した言語にはC++以外の例としてObjective-Cがありますが、C++とObjective-Cではコードの書き方がまるで異なります。Objective-Cは、古くはNeXT、その後はMacやiPhone向けの開発で使われた言語です。 一方、オブジェクト指向プログラミングを学ぶための言語としてはC++はあまりお勧めできません。言語仕様が巨大かつ複雑すぎるからです。「プログラミング言語C++ 第4版」なんて1360ページもあり、学習目的でこの本を買ってはいけません。 オブジェクト指向になじめないせいで挫折した人は、C#やJavaあたりの言語でオブジェクト指向の概念や感覚を先に身につけてからC++の学習をしたほうが理解が早いかもしれないと思います。いきなりC++でプログラミングの学習を始めてオブジェクト指向を習得できた人ももちろんいるでしょうけれど。

-q7P2izb__
質問者

お礼

ありがとうございます。 オブジェクト指向は理解するのに向き不向きの言語が あるんですね。 ちなみに、私はCを習った時、WindowsXPの時代でした。 フロッピーを持ち歩いていたのを覚えています。

その他の回答 (4)

  • BuriBuri4
  • ベストアンサー率28% (150/525)
回答No.5

初期のC++はC言語の拡張として実装されてましたから基本的な文法は同じですね。 Javaなどの言語だと深く考えなくてもオブジェクト指向プログラムになるのですが、C++はC言語として使えるせいでオブジェクト指向で作ろうとしないとオブジェクト指向になりません。 言語以前にオブジェクト指向とはなんぞや?なぜオブジェクト指向が必要なのか?の理解を深めた方が良いと思います。 もはや古典ですが「オブジェクト指向でなぜつくるのか」などを参考にされると良いと思います。

-q7P2izb__
質問者

お礼

ありがとうございます。 オブジェクト指向をかなりなめてました。 最新の情報の書籍で読書してみたいと思います。

  • t_ohta
  • ベストアンサー率38% (5252/13737)
回答No.3

CからC++へ移行するにはオブジェクト指向を理解するしかないですね。 日本国内で売られていた書籍で初期の頃のオブジェクト指向の説明は読者を混乱に陥れる表現(動物クラスの何とかみたいな説明)が多かったので、挫折する人を沢山産んだと思います。 今どきのオブジェクト指向の解説を読んでみるといいんじゃないでしょうか。 最近は書籍が減っていますが、ネット上にはとてもいい解説が書かれたサイトが沢山ありますので、検索してみるといいと思います。

-q7P2izb__
質問者

お礼

ありがとうございます。 オブジェクト指向専門のサイトや本を探してみます。 探し方が悪いのかもしれません。ありがとうございました。

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

Visual c++というのはMicrosoftのC++開発環境と捉えてください、 オブジェクト指向を取り入れたCがC++と考えればそんなに身構えなくていいと思います。 C/C++についての書籍ではなくオブジェクト指向について解説された書籍を片っ端から読んでみるのがいいかもしれません。知者が変われば同じ事についての解説でも切り口が変わるのでそのうち自分に合った書籍が見つかるでしょう。 Microsoft Visual C/C++は無料のMicrosoft Visual Studio Expressがあり無料でダウンロード/インストール出来ます。インストールの際にはネット接続が必須(インストールモジュールをダウンロードしながらインストールする)になります。もちろん説明書はないし基本的にはMicrosoftの開発者サイトがドキュメントになります。日本語で出てきますが機械翻訳みたいで場合によっては解読困難な説明がありますwだけど普通にネットを検索すれば現場の開発者の忘備録的なブログなどがヒットするのでそちらを見るのもいいでしょう。 わたしもC言語から入り、C++も勉強しましたが、当時はほとんど理解できず必要に迫られて他の言語を覚えて仕事で使ってきました。 寄り道をしながらもクラスとかオブジェクト指向を知らず知らずに使ってきたこともあり今なら理解できます。だけどわざわざC++で開発する必要もないのであえて覚えるつもりはないですけどね、だけど見れば理解は出来ます。 ネットを検索して見るとC++の解説しかないケースも多々あるのですが、C++のソースを参考に別言語で記述することも出来ます。 だから、C++をプログラミング言語として覚えるのではなく、考え方を学ぶ教材の一つとして捉えればいつの間にか言語としても覚えることが出来ますよ。 あとは、プラットホーム独特の約束事とかそういうのを覚えればいいと思う。

-q7P2izb__
質問者

お礼

ご回答ありがとうございます! 同じ境遇を経験された方のご意見、大変参考になります。 オブジェクト指向で挫折したときは、もうこの先ないと 思って、プログラミングを諦めた時もあります。 今は、Web系のHTMLから始めてJavaScriptまでを習得し、 言語の多様性に触れてみたいと思っています。 あとは、VisualStuidoでC言語で作ったソースをC++に 書き換える予定です。色々と言語を触っていくうちに、 習得できたらいいなと思います。 ありがとうございました。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

>CもC++も似たようなものだからすぐ覚える。 そんなことはない。文法の一部は確かに似通ってるかもしれないが、 全然別物ととらえる方がよい。 >C++の本がまずほとんど売られていないことと、 そんなことはない。Cの本よりもよほどたくさん売っている。 探し方がよくない。 >Visual C++との関係性 C++で開発するための処理系の一つに過ぎない。 Visual C++に拘泥する必要はない。 >オブジェクト指向が理解できず挫折しました。 ここでつまずくのであれば、C++はやめた方がよい。

-q7P2izb__
質問者

お礼

ご意見、アドバイス、ありがとうございます。 私が、C言語を始めたのがだいぶ昔の話ですので、 その時点でプログラミングは向いてないのかもしれませんが、 どうしても、世界を変えたいんです! ありがとうございました。

関連するQ&A

専門家に質問してみよう