電脳ヨーグルト

プログラミングの備忘録と私生活を

【スポンサーリンク】

やさしいCを一冊やって分かったこと。

【スポンサーリンク】

やさしいC 第4版 (「やさしい」シリーズ)

こんにちは!のむヨーグルトです。 

 
今回はC言語の定番中の定番と言える高橋まな先生が書かれた「やさしいC」を一通りやり終えたので感想を書きます。
 
 
自分の学校では、高橋まな先生のやさしいCと柴田望洋先生の新明解Cの入門編を使っていました。

やさしいC 第4版 (「やさしい」シリーズ)

新・明解C言語 入門編 (明解シリーズ)

 

 
 
ある先生はやさしいCは内容が薄っぺらすぎて理解出来ない、新明解の方が内容が詳しいので良いと言っていましたが、別の先生が新明解は難しいから初心者が読むと挫折する、やさしいCの方がいい、とまるっきり正反対の意見を言っていたのでかなり惑わされました笑
 
 
 
自分はどちらも使いましたが、上記の意見のようにどちらも良い面と悪い面があるように思います。個人的には新明解Cの方が好きですけど、とりあえずプログラミングはじめてやるという方はまずはやさしいCからはじめた方がいいような気がします。
 
 
 
やさしいCのメリット
 
1.レイアウトがシンプルで読みやすい。
 
 これは新明解の方をみればわかるのですが新明解のほうがページいっぱいに文字がぎっしりしているのでとっつきにくいです。しかしながらやさしいCはレイアウトがシンプルですっきりした見た目になっています。見やすいノートは空白が多いですし、見やすさという点ではピカイチだと思います。
 
 
2.絵とかがあってわかりやすい。
 
 大体の技術書はお堅い感じで文字ばっかりびっしりで素人には参入障壁が高いですが、やさしいCはちょっとした絵があったりして読みやすいです。コーヒーやえんぴつなどやさしい感じの絵があります(笑)
 
3.一冊終えるのにそんなに時間がかからない。
 
 やさしいCは読みやすいので1冊400ページほどありますが割とすぐに読み終わります。サンプルプログラムもそこまで長いものはないので全部うってもそんなに時間はかからないと思います。
 
4.巻末の標準ライブラリ一覧が見やすい。
 
 個人的なはなしですが巻末にある主な標準ライブラリ関数という、それぞれの関数と処理の内容についてまとめた表があるのですが、それが新明解の方にはないので結構重宝しています。
 
 
やさしいCのデメリット
 
1.やはり内容面で物足りない。
 
 やはり一冊の濃さでいうとどうしても新明解に比べて劣ると思います。サンプルコードも少ないので、個人的に「あれ?この場合はどうすればいいんだ?」と思っても本に答えが載っていない場合があります。そのようなときはネットで調べるか、別の本をみればよいかと思います。
 
 
2.ページの都合上説明が曖昧なところがある。
 
 どのC言語の入門書についてもいえる事なのですが、はじめからすべてを説明することは不可能に近いので、まずは本質はおいておきオマジナイとしてそういうものだとして話を進めていきます。そしてある程度の理解力がついてきたら実はあのオマジナイはこういう意味だったんだよ。と種明かしします。ですが新明解に比べてやさしいCの方は種明かしの度合いが少ないように感じました。
 
 
 
3.演習問題が少ない。
 
 読み進めやすいというのは諸刃の剣です。サンプルコードや演習問題が少ないので次に進みやすいのですが、その反面演習不足になりがちなので、自分でネットやほかの参考書でC言語の問題を解いて演習経験を積まないと自分で考えてなにかを作るというのは難しいような気がします。
 
 
 
 
 
かかった期間
 
 僕の場合ほぼ初心者からのスタートで、新明解の方とで両刀使いでしたので一冊終わるので8か月ほどかかりましたが、やさしいCだけに絞れば、一日一時間を毎日やったとして1か月から2か月ほどで終わるのではないかと思います。しかし上の方でも書きましたが、プラスαで調べたり演習するともうちょっとかかる気もします。個人的にはまずはざっとやさしいCを終わらせてから別のちょいむずの入門書をやって、やさしいCの内容を反復して知識を定着させるとともに分からなかった伏線を回収するのがいいと思います。
 
 
 
結局何ができるようになるの??
 
 プログラムを学ぶ人ほとんどの人のモチベーションは何かを作るということだと思います。しかしながらやさしいCを一冊終えてもなにか作れるようになるか、といったらなかなか難しいとおもいます。コマンドプロンプト上で動くテトリスみたいなゲームでしたらすぐに作れると思いますけど、実際によく見るようないわゆるなゲームとかは無理です。しかしながらC言語を学ぶ意義はあると思います。C言語はいまある多くのプログラミング言語のもととなっている言語なので、C言語の軸がしっかりしていると他の言語の学びやすさが段違いです。ちょうど英語が話せる人がフランス語をちょっと勉強しただけで話せるようになるみたいな感じだと思います。まあ僕は英語話せないので実際はよくわかりませんが(笑)
 
 
まとめ
 
 プログラミングの教育が世界でもどんどん普及しているなかでプログラミングがわからないと時代に取り残されてしまいます。プログラミングを仕事にしていない方でも基礎だけやってプログラミングというものをざっくり理解することが大切だと思います。
 
 
このような長文を最後まで読んでいただきありがとうございました。