プロが教える店舗&オフィスのセキュリティ対策術

よくC++はCをやってからの方がいいという意見のほうが多かったので
Cをやっていたのですがやっているうちにどんどんやることも増える(読みたい本も増える)のですがどの程度から移行するほうがいいのでしょうか。

第一段階:文法(制御文、ポインタ、関数等)を基本的に分かっている(明快Cや林「Cシリーズ」を理解)
第二段階:1人の著者ではなく複数の本(文法書やそれに類するもの)を併読した
第三段階:アルゴリズムを基に自分でCプログラムを作れる
などCを知っているといってもレベル段階はかなり差があるかと思います。

基本的にはVC++を使いたいと思っていて、
CについてはC++やVC++をやりつつまた戻って復習という形で先に進めるのもどうかと思っているのですが、
どのくらいのレベルで移行するのがベターでしょうか?
ケースを教えていただければ助かります。

A 回答 (7件)

私もANo.4の方と同意見です。


もう少しタブーに踏み込むと、、、

CとC++はかなり違います。
CとVC++2005とは、全然違います。
特に、VC++2005でMFCをやる場合には、Cはほとんど役に立ちません。
(C的なコーディングはかなり通りますが)

現実には、いきなりVC++2005&MFCから入って、ある程度慣れてから、必要に応じてC++に戻る、というのが一番短時間で覚える道だったりします。
実際に、これからそういう人が多くなってくると思います。
ポインタはしっかり理解する必要がありますが、それも最初から理屈で覚えるより、「見よう見まね」でいじっていれば、自然に分かってきたりします。

問題なのは、現場で人に教える立場の人が、古いCで覚えているケースがあり、新しいものを受け付けなかったりすることです。
頭ごなしに、「Cからやらんとだめだ」と、決めつけられて、古臭いコーディングを無意味にいじらされるハメになったりします。

ただ、この世界で食っていくつもりなら、古参のひとたちともうまくやらないといけませんし、教わることはたくさんありますし、他人の作った古いコードに手を入れさせられることもあるので、「Cを知らない」では通用しません。
    • good
    • 0
この回答へのお礼

確かに昔の人がC!C!っ言っているのがわかる気がします(まだ社会人じゃありませんが)

お礼日時:2007/11/09 05:16

今すぐC++に移っても良いでしょう。



将来仕事にしたいと考えている場合は、C++、VC++のMFC、VC++/CLIを適材適所に書ける知識がほしいとは思いますが、就職先によってはC言語になるかも知れませんし、JAVAって事になったりもします。
マイクロソフトは、C++/CLIで統一を願っている気がしますが、Linux系の開発がC++/CLIになるとはとても思えません。
それに、今までのMFCの資産もありますから、VC++を使っている開発会社も簡単に乗り換え出来ないでしょう。
アマチュアとして楽しみたいのなら、C++/CLIは無料のExpressEditionだけでWindowsフォームの開発が出来ますから、当面の選択肢としては悪くないと思います。
    • good
    • 0

#5さんへ



>> いきなりVC++2005&MFC
これからは、MFCではなくCLRでしょう。
    • good
    • 0

最終的にC++しか使うつもりがないのであれば、いますぐC++をやればよいと思います。

というより、最初からCを学ぶ必要はなかったのです。
CもC++も両方使うつもりであれば、Cで一通りのことができるようになってからC++に手を付けた方がよいでしょう。中途半端なことをするのはよくありません。
ただ、現実問題としては、完全にC++だけで済むことは稀です。C++だけで済ませようとすると、どうしても守備範囲が狭くなってしまうからです。

時間的に余裕があるなら、Cを一通りマスターしてから(ご質問の中にある「第三段階」もしくはそれ以上に達してから)C++に手を付ける方がよいでしょうし、時間的に余裕がないなら、今すぐC++に切り替えて、余裕のあるときにCに戻るのが、現実的な選択だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
確かに時間との関係もありますね。できるならCを完全がいいがそうも行ってられない。
ある程度マスターでC++に切り替えようと思います。

お礼日時:2007/11/05 04:55

URLの本はいかがでしょうか。


おすすめです。

参考URL:http://www.amazon.co.jp/dp/4891005017/
    • good
    • 0
この回答へのお礼

早速買ってみました

お礼日時:2007/11/09 05:15

いつでもいいと思います。


私はCでプログラムを書いているときから拡張子は.cppにして

int main( void )

int main()
にしたり

int i;
for ( i = 0; i < 10; i++ )

for ( int i = 0; i < 10; i++ )
にしたり

変数を自由な位置に宣言したりしていました。


とりあえずC++は一番主要な機能であるクラスだけなら30分も
あれば覚えられるのでそれだけでも覚えて今のプログラムを
少しずつC++風にしていくことから始めたら自然とC++は覚えられます。

実際に真にC++を習得するのは一朝一夕とはいきませんが、
私はこうすることでC++にはほとんど抵抗無く移行できました。
    • good
    • 0

>よくC++はCをやってからの方がいいという意見のほうが多かったので


それは単純に、

1. C++ を学習する人の多くが既に C を(ある程度)習得していた。
2. 言語を学習する上で、他の言語の経験があった方が習得しやすい。

という事象が組合さって作られた、経験則でしょう。大した根拠はありません。C++ の学習者の多くが「他の言語を知っていて役に立った」と言うべきところを「C言語を知っていて役に立った」と言っているだけです。

結論を言うと、C++ を勉強したいなら今勉強すれば良い。他の言語の経験があると役に立つが、無いものは仕方がない。Java を勉強する前に、まずは C言語を勉強する人はいない。
    • good
    • 0
この回答へのお礼

ありがとうございます。
文法的にC++はCに近くC++をいきなりやるよりCで少し体操しておいた方がいいというイメージでした

お礼日時:2007/11/05 04:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!