IT

プログラミング初心者は本を買うな【#プログラミング #初心者】

プログラミングを勉強しようかな。

でも何から勉強したらいいんだろう。
とりあえず、プログラミングの本を買ってみようかな。
どんな本が初心者にはいいんだろう。
ネットで調べてみよう。

と思ってこの記事にたどり着いたあなたへ。

本なんか買うな。

唯一のプログラミング上達法

プログラミングの勉強をする方法で唯一有効な方法は、
プログラミングをすることです。
本を読むことではありません。

本を読むことで確かに知識はつきますが、それだけでプログラミングができるようになることは常人には決してありません。
もしできるようになったのなら、あなたは天才です。

プログラミング上達のためには、自分でコードを書いて、バグが発生したら解決していく。これしかありません。
とりあえず本を読んで知識を蓄えても、それだけでプログラミングが上達することはありません。
とりあえず本を読むくらいなら、とりあえずプログラミングをしてみましょう。

私もかつてプログラミングの授業のために教科書として本を一冊買いましたが、これ単体で勉強するのは
普通の初心者には無理です。出来たら天才です。
本だけで、独学で、プログラミングができるようになることはありません。

どうしても独学でやりたい、独学でもできる自信がある、という人は、試しにやってみるとよいでしょう。
ちなみに、私が使っていた教科書はこちらです。
(記事の最後にもリンクを置いておきます)


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

定番中の定番の本なので、プログラミングをやったことがある人なら誰でも知っている本です。
他にもプログラミングの本は掃いて捨てるほど世の中にありますが、どの本でも構いません。
一冊読み切ってプログラミングができるようになったあなたは、私に教えてください。
出来たらあなたは天才です。

なぜ本を読んでもプログラミングができるようにならないのか

これは、プログラミングを行う際の労力のかけ方によるところが大きいです。

プログラミングをする際にはおおむね、

  1. どんなプログラムを書くか考える。
  2. 実際にプログラムを書く。
  3. うまくいかなかった部分がどうしてうまくいかなかったか考える。
  4. 2.に戻る。

という流れで行います。

さて、問題です。
1~3のうち、どれに一番時間がかかると思いますか。

時間がかかる順に並べてみてください。

 

 

 

 

 

 

 

並べ終わりましたか。

 

 

 

 

 

 

 

 3. うまくいかなかった部分がどうしてうまくいかなかったか考える
 1. どんなプログラムを書くか考える。
 2. 実際にプログラムを書く。

の順に時間がかかります。

当たっていましたか、意外でしたか。
当たっていたら、あなたは天才です。

割合としてはこれくらいになります。

  1. どんなプログラムを書くか考える(30%)。
  2. 実際にプログラムを書く(10%)。
  3. うまくいかなかった部分がどうしてうまくいかなかったか考える(60%)。

もちろん個人差はありますし、作るプログラムにもよりますが、大小関係は変わりません。

プログラミングの本で付けられる知識は2.と1.の半分くらいの部分のものなので、それだけでは全く不十分です。

3.がいかに速く的確にできるかどうか。
これがプログラミングの技量に直結していると言っても過言ではありません。

そのため、プログラミングの本を読むだけではプログラミングの上達はできないのです。

プログラミング本は無駄?

プログラミングにおいて、本を読むくらいならとりあえずやってみる方がずっといいのですが、本を買うことが全くの無駄というわけではありません。

学校の授業や、どこかの講座の副読本としてはとても役に立ちます。どんな本でも、ある程度必要な情報が分かりやすくまとめられているからです。

その意味では用途次第であって、世の中に存在しているプログラミングの本がすべてまったく無駄というわけではありません。

勉強のためにすでに本を買った人は、私の見立てが間違っていたことをがんばって証明してください。
証明できたらあなたは天才です。期待しています。

とりあえずやってみるとは?

とりあえずやってみるとは言ったものの、じゃあ何から始めたらいいのかと思うでしょう。それに困ってここまでたどり着いたはずです。

では、以下の1~4手順に従って操作をしてください(Windows向けです)。

  1. メモ帳を開く。
  2. 次のテキストをコピペする。
    <script>
    alert(“Hello, World!”);
    </script>
  3. デスクトップに「index.html」という名前で、名前を付けて保存する(ファイルの種類はすべてのファイル)。
  4. 保存したファイルをブラウザで開く。

さて、何が出ましたか。何か出たでしょうか。

これが、ハンドパワープログラミングです。

とりあえず、メモ帳で改めて「index.html」を開いて、適当に中身を書き換えてみてください。パソコンが壊れることはありませんから安心してください。
壊せたら天才です。
どんな変化が起きますか。

出てくるメッセージの内容が変わったり、何も出てこなくなったりしたでしょう。

何をすると何が起きるのか、これを一つずつ積み重ねていくしかないのです。
とりあえずプログラミングをしてみるというのはこういうことです。

他の方法はないの?

ここまで読んでいただいてなんですが、本を買わず、とりあえずのプログラミングで学習していくのはがいくつでもつくほどの超々茨の道です。

個人的にプログラミングをするのなら要求水準も低いので何とかなりますが、ゆくゆくはプログラミングをする仕事をしたいと思っているのなら、早々に独学は諦めた方がいいです。死ぬほど時間がかかります。

というより、新しく何かを学ぶのにネットの情報だけで完結させようというのがそもそも間違っています。
完結させられるなら、あなたは天才です。

独学でやろうなどと考えずに、素直にわかる人からわかりやすく教えてもらいましょう。

今どきはネットで受けられるプログラミングスクールもあるようなので、うまく利用しましょう。もちろん有料です。世の中そんなに甘くないです。

TechAcademy
TeckAcademyはじめてのプログラミングコース
TECHCAMP【通常】
TECHCAMP【エキスパート】

プログラミングの基本を学ぶのであればどこでもいいと思いますが、いつでも質問できて、いつでも答えてもらえることが最も重要です。TechAcademyとTECHCAMPはいつでも質問を受け付けてもらえるので、困ったらすぐに質問しましょう。

3. うまくいかなかった部分がどうしてうまくいかなかったか考える(60%)。

学校やプログラミングスクールのような「先生」がいるところの最大のメリットが質問できることなので、申し込むなら徹底的に質問しましょう。すぐに質問しましょう。悩むだけなら独学でもできます。質問のためにお金を払っているのだと理解しましょう。
質問しなくて済むならあなたは天才です。
すぐやめましょう。

なお、天才でなくても、個人的にプログラミングをする程度の場合はスクールに入る必要はありません。時間はかかりますが、個人的なレベルであれば、そこまでちゃんと勉強しなくてもプログラミングはできるようになります。割に合いません。
ただし、どうしても普段時間が取れないけれど、短期間でプログラミングを学びたい事情があるなら別です。とっとと入ってください。

短期間で、無料でプログラミングを身につける方法はありません。世の中そんなに甘くないです。
身につけられたらあなたは天才です。

まとめ

  • 個人的にプログラミングを学びたい
    →とりあえずプログラミングをやってみる(無料)
  • ゆくゆくはプログラミングの仕事をしたい
    →学校かプログラミングスクールで教わる(有料
  • 自分は天才だ
    →本を買う

繰り返しになりますが、プログラミング上達のためには、とりあえずやってみることが最も大切です。

普通の初心者のあなたは、本など買わずにとりあえずプログラミングをやってみるか、プログラミングスクールか学校に通って教えてもらいましょう。

「できらぁ!」というあなたは、この本を買って読んでみましょう。
プログラミングができるようになったら天才です。


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

充実したプログラミングライフを。