C言語関係掲示板

過去ログ

No.1112 C++言語の習得

[戻る] [ホームページ]
No.1846

C++言語って
投稿者---閏(2004/05/29 07:48:13)


C++言語ってC言語を習得したらどれくらいで習得できますか?


No.1847

Re:C++言語って
投稿者---おでん(2004/05/29 09:38:41)


>C++言語ってC言語を習得したらどれくらいで習得できますか?

私は、CとC++は表現方法(記述方法)の似ている
まったく別の言語だと思っています。
表現だけを考えれば、C+αですからそんなに時間はかからないと思いますが、
それでは何時までたっても「CみたいなC++プログラム」から抜けられません。

まず、C++(や多くのオブジェクト指向と言われる言語)の背景にある
オブジェクト指向についての勉強をしたほうがいいと思います。

「Cを習得できた」というのは、どれぐらい出来たらそう思えるのでしょう?
・・・いだにわからないことばかりです・・・


No.1848

Re:C++言語って
投稿者---たか(2004/05/29 10:18:07)


>>C++言語ってC言語を習得したらどれくらいで習得できますか?
>
>私は、CとC++は表現方法(記述方法)の似ている
>まったく別の言語だと思っています。

私もC言語をマスターしてからC++に入った口ですが、C言語を身に付けて
いればいるほどC++の自然な考えに馴染むのは困難になる傾向があります。

それはC言語におけるポインタの重要性と大きな関係があります。C言語で
何か細かい事をさせようとするとすぐポインタを持ち出しますし、それし
か方法がない事が多いのです。

C++はポインタ以外にデータの受け渡しをする方法としてリファレンスが
ありますし、ポインタにも継承と関連した仮想関数という特殊な概念が
付け加わり、全貌を把握するのは極めて困難になっています。オブジェク
ト指向を理解するためにデザパタ本も必要になるでしょう。

事実C++の標準ライブラリだけで分厚い本が数冊も書けてしまうほど、C++
言語の大きさは巨大でしばしばAdaと比較されます。これはC++にtemplate
が導入された事に伴うSTLの影響が大きく、私も手元に数冊の参考書を置い
て置かないととてもすべてをスマートに使いこなす事はできないでいます。

しかし幸いな事にC++はC言語(ANSI-C)の機能をほとんどそのまま受け継い
でいますので、C++で大きく進化した部分は後回しにして学習を進める事
ができるようになっています。そのせいかどうか、言語規模の巨大さと
プログラムの表記の汚さにも関わらず多くのプログラマがC++を使用して
います。そしてJavaやC#と言ったOOP言語と非常に似た面を持ち、Javaや
C#への移行も容易なのです。でもその逆(JavaやC#からC++)の移行はきっと
イバラの道でしょう(^_^;)。

C++が標準化されてからもう6年もたつわけですが、まだ完全に標準C++に準拠
したコンパイラが出ていないのを考えてもC++の複雑さにメーカーが手を焼
いているのがよくわかります。(例えばexport templateをサポートしてい
るC++はComeau C++しか知りません。)


No.1923

Re:C++言語って
投稿者---閏(2004/06/04 20:29:51)


C言語を習得していたらC++はすぐ習得できるんですね。
教えてくださってありがとうございます。
お礼を言うのが遅くなってすいませんでした。


No.1924

Re:C++言語って
投稿者---たか(2004/06/04 21:32:40)


>C言語を習得していたらC++はすぐ習得できるんですね。

いや、さすがにすぐに習得は無理かと。何せ言語規模が全然違いますからね。
C++の難しさはその文法にもありますけど、それよりも量の多さによるかと。


No.1925

Re:C++言語って
投稿者---おでん(2004/06/04 23:10:23)


>C言語を習得していたらC++はすぐ習得できるんですね。

どの程度のことを「習得」と言っているのか分からないので
なんとも言えませんが「C言語を習得」するのも結構大変だと思います。

既に「Cなら、まかして!」状態ならいいのですが・・・


No.1928

Re:C++言語って
投稿者---monkey(2004/06/05 00:50:25)


>C言語を習得していたらC++はすぐ習得できるんですね。

誰の回答のどこをどう読むとこのように理解できるのでしょうか?
もう一度先輩方の回答を読み直してください.

ワタシの意見は次のとおり:
CとC++は違う言語だから,どちらかがどちらかの前提になるというような性質のものではない.
C++はCを習得してから,なんていう俗説は信じない方が良い.
余裕があるなら,CとC++を併行して勉強しても良い.


No.1929

Re:C++言語って
投稿者---RAPT(2004/06/05 01:18:30)


あくまでσ(^^)のケース。
BASIC → C → F-BASIC for Windows → Perl → VB6 → VC++6 → Java
とやってきて、BASICで基本を学び、Cを知り、F-BASIC/WinでWindows
プログラミングの導入を感じ、Perlの文字列処理に感動し、VBで挫折して
VC++で死んで、Javaは1wで大体理解した。

今でこそC言語はそこそこ理解できていると思うけど、初めてC言語に触れて
から10年経っているし、VC++も触って2〜3年だけど、まだまだ知らない事は
たくさんある。果たして、何を以って「習得」とみなすかによるが。