
私は社会人になってから、C言語やC++,Javaなどのプログラミング言語を学びました。
ここではC言語の学習方法について持論も含めて述べたいと思います。
目次
書籍を使ったC言語の学習方法
C言語の学習方法として、書籍を読みながらそこに書かれているプログラムを実際に打ち込んでみて動作させてみるという事を行いました。
本に書いてある事を読むだけだと、わかりにくい点がそのままになってしまいます。
「この部分のソースを変えたらどうなるのか」とか「別のプログラムに応用するとどう動くのか」などの疑問を解決するには自分で動かしてみるのが一番効果的でした。
ただ読むだけより理解が深まります。
もちろん、実際にやってみると、意図しない動作をしたりコンパイルエラーが発生する事は多々ありました。
でも、今度はそれをいかにして解決していくか試行錯誤する事でさらに新しい経験を積むことができます。
C言語の独学に使用した書籍3選
次に実際使用した書籍をご紹介します。
まずC言語の学習といえば、必ず挙げられるのが「プログラミング言語C」(カーニン/リッチー著・共立出版株式会社)です。
が、実はC言語初心者が、初めて学ぶのに使用する本としては明らかに不適切です。
むしろこの本は、C言語を一通り学習した後、辞書的に使う時に非常に役立ちます。
私が最初にC言語を学ぶ本としてお勧めなのは「明解C言語・第一巻入門編」(柴田望洋著・ソフトバンクパブリッシング)です。
明解シリーズは非常にわかりやすく、基本的なところから一歩ずつ学んでいけます。
C言語の学習で多くの人を困惑させるのがポインタという概念です。
私もポインタには非常に混乱させられたのですが、それを一気に解決してくれた本が「C言語ポインタ完全制覇」(前橋和弥著・技術評論社)です。
「何故ポインタで混乱するのか」という根本的な事柄とその解決法を明解に提示してくれます。
この本はプログラム関係で読んだ本の中で、最も役に立った本といっても過言ではありません。
C言語を学んだ体験談

C言語を学んだ体験談をひとつご紹介します。
プログラミング言語を学んだきっかけ
私がプログラミング言語を学ぼうと思ったきっかけは急遽仕事で必要になったからです。
学びたいと思っていたのではなく、仕事で使うので、学ばざるを得ない状況になりました。
学んだ言語について
勉強した言語は、C言語とShellです。
最初はC言語でした。
C言語は以前会社の研修で教えてもらっていたので、まずは文字を出力させるだけのプログラムを作るというところから始めました。
「この文字を出力させろ」から始まり「適当な数値を入力したらそれを足した値を出力させろ」などだんだん難しくなる課題を10問分くらいプログラムを作りました。
どのようにして学習を進めたか
何も見ないでできる訳はなく、基本的にはインターネットで調べてトライアンドエラーを繰り返しながら覚えていくという感じでした。
ただ、それでもわからないところは会社の先輩などに聞き、直接教えてもらいながら解いていきました。
学んだ言語はその後、仕事で使用しました。
学んだ言語を今も使用しているか
今現在はC言語は全然使っておらずほぼShellだけです。
C言語を最初に学んだことでプログラムの書き方など基本的なことが分かっていたため、特にがっつり勉強ということはしなくてもスムーズに理解することができたと思います。
また現場に出てからは、他の人が書いたプログラムを見る機会があり、かなり勉強になりました。
他の人が書いたプログラムを読むのは、言語仕様を理解していないととても難しいし、自分とは違う書き方を見れるのは良い意味でも悪い意味でもとても参考になります。
未経験のC言語を急遽使うことになったが、なんとか乗り切った体験談

私は現在、産業電機関連のエンジニアをしております。
内容としては、インバータのハード設計を行っております。
以前、未経験だったC言語を急遽使うことになり、それを乗り切った体験についてお話ししたいと思います。
急遽、未経験のC言語を使うことに
私の会社には当時、ソフトウェアの担当者がいませんでした。
そんな中で急遽、チームで手分けしてインバータのソフトを開発することになりました。
しかも、ぶっつけ本番の仕事としてです。
私は大学でもC言語を習っていなかったのですが、その未経験のC言語でプログラムを組むことになりました。
まずは基本からということで、C言語が学べるホームページを見ながら、見よう見まねでソフトを組んで行きました。
途中、わからないことがあったり、辞めたいと思ったことは何度もありましたが、そこは仕事だと割り切って、言語仕様を覚えながら進めて行きました。
ソフトの作成は終わったが爆発した
やっとソフトの製造が終わり、インバータにインストールして実機動作を行ったのですが、当然初めはまったく動作しませんでした。
その後、何度もソースコードの修正を繰り返して、やっとインバータが動作したと思ったら電圧が上昇して爆発しました。
幸いケガはありませんでしたが、その事故により納期に火がついて、朝早くから夜遅くまでソフトを修正するはめになりました。
その間、C言語の勉強をしながらも、ようやくインバータの運転に成功しました。
排水の陣は強い
まさに、背水の陣で覚えていった事例で、仕事でなければ、爆発してなかったら、きっと今でもC言語を覚えることはなかったと思います。
まとめ
現在では、書籍だけでなくネットで検索すると、プログラムを学習するのに役立つサイトがたくさん見つかりますので、そういった所を使うのもありだと思います。
ただ、これと決めた本を何冊か手元に用意しておくと、何かあった時にすぐに調べる事ができ便利です。