CとC++の学習法
現在、Cを参考書で独学しています。(日曜プログラマ)
これまで、
PHP,Java,JavaScript,VBA、などに触れてきましたので、
プログラミングの基礎は分かっているつもりです。
Cの学習目的(Cで何をしようとしているのか)は、
「Cではどんなことができるのか」をまず知り、
その上で、Cならではの長所を生かしたプログラミングを
考えたいと思っています。
(ウェブと連携したプログラムで面白そうなものを作りたい。)
漠然とですが、CやC++に求めているものは、
その「処理速度」です。
(インタープリタ言語よりも速く処理させたい、という気持ちが強い。)
それと、サーバーソフトなど、
プログラムを走らせる基盤を必要とせずに、
実行できるソフトウェアに興味がある、ということもあります。
○○.exe ←これ1つあれば、実行できるプログラム という意味で。
例えば、PHPですと、○○.phpだけでは動かず、
そのファイルを逐次機械語に変換して実行するために
php.exeやphp.iniなどを必要としますよね。
他のPC(同じOSとして)でも、動かしたい場合、
その基盤も一緒に連れて行かないといけない、
という煩わしさからも解放されたいわけです。
と、これまでの文章の中に、既に誤った認識があるかもしれません。
その場合には、ご指摘頂けると助かります。
で、C言語を学び、最終的に、
より性能の充実したソフトウェアを作る上で、
C++の知識・技術が必要であると感じることになるのであれば、
Cだけに留まらず、C++も習得したいと考えています。
こうした考えのもと、質問をさせて頂きますが、
C++にできて、Cにできないこと
または、
Cでもできるけど、C++を知っていた方が良いケース、
について、
ざっくりと説明できる(一部、説明できる、ということでもOKです。)、
という方、その点について、どうか教えてください。
これから、Cをどう勉強していくか、どこまで勉強していくか、
その指針の確立に、みなさんからのご助言を参考にさせて頂くつもりです。
※要するに、Cを(必要そうであれば、C++も)効率的に学習したいわけです。
※その上で参考になるアドバイスを頂きたい、というのが本件の最大の目的です。
この手の質問をすると、まず、
「何がしたいの?」
と言われそうですが、
「何が出来るの?どれほどのパフォーマンスが期待できるの?」
という気持ちから勉強している場合には、
そうした質問をされると困りますので、その点、ご理解いただいた上で、
回答して頂けると非常に助かります。
(この点における、補足⇔回答のやりとり[手間暇]を極力抑えたい、という意図から。)
回答を頂きましたら、適宜、補足などさせて頂きます。
それでは皆さん、よろしくお願い致します。
お礼
分かりやすい回答ありがとうございます。