「プログラミングで本はいらない」は嘘【本の必要性や注意点を解説】
[chat face=”70bf50a106beab983f9b6e72c6c24ee7.jpg” align=”left” border=”gray” bg=”gray”] プログラミングは本で勉強する意味ないって言われたことがあるんだけど、本当なの? [/chat]
たまにプログラミングをやっていると「本ってあんまりいらないよね〜」みたいにいう人がいます。
ただ、先に言っておくと「本を読まないと、中級者以上になるのは難しい」と思います。
会社の優秀なエンジニアの方とかを見ていても、知りたい知識が書いてある技術書をよく読んでいるイメージです。(本人が言ってました。笑)
なので、やっぱりプログラミングを学ぶ上では、本(技術書)は必要不可欠だと思います。
しかし、間違った本の使い方などをしてしまうと「本はいらないな」と感じてしまうこともあるはず。
そこで、この記事では「プログラミングにおける本の必要性や利用する際の注意点」などを解説していきます。
「プログラミングで本はいらない」は間違い【本の必要性を解説】
まずはプログラミングにおける本の必要性を解説していきます。
ここを読めば「本はいらない」なんて感情は出てこないはずなので、しっかりと読み進めてください。
【前提】本はより上位のプレイヤーを目指すための道具
本題に入る前に重要な前提をお話ししておきます。
それが「本(技術書)は、より上位プレイヤーを目指すための道具である」ということです。
ぶっちゃけ「初心者〜中級者」ぐらい目指す程度の人は本はいらないと僕は思っています。
なぜなら、ある程度のWebサイトやアプリを作るぐらいならネットで十分だからです。
ただ、それだけではなく、全体像を理解して、よりレベルの高いエンジニアになりたい人は本を使うべきです。
①:本はより深い知識を学ぶことができる
1つ目の本(技術書)の必要性は「深い知識を学ぶことができる」という点です。
プログラミングの本(技術書)はかなりページ数があって、分厚いものが多いです。
当然、ページ数が多いだけあって、書かれている情報量もかなり多いです。
そして、ネットで調べているだけでは、あまり出てこないような深い内容も書かれています。
例えば、「PHPのコードを書けるようになりたい」というだけなら、ネットだけでも十分だと思います。
ただ「PHPのコードがどのように動いているのか」や「もっと高度な使い方をするならこんな感じで〜」のような、より深い部分は本の方が知識を得られやすいです。
PHPに限らず、他の言語でもそうですし、技術系全般の知識についても同じことが言えます。
よりエンジニアとしてレベルアップしたいなら、本は必要不可欠です。
②:体系的に学べて、補足知識もたくさん得ることができる
本のもう一つの良い所は「体系的に学べる」という点です。
例えば、もしあなたが
[chat face=”70bf50a106beab983f9b6e72c6c24ee7.jpg” align=”left” border=”gray” bg=”gray”] どうやってインターネットって繋がっているんだろう…その仕組みをもっと知りたいな [/chat]
と考えたとします。
そこで『インターネット 繋がる 仕組み』
とか調べると、それらしい記事は沢山出てくるはずです。
しかし「サーバー、IPアドレス、TCP/IP、HTTP/HTTPS、光ファイバー、etc...」
などのように深く理解していない用語もたくさん出てきて、
結局よくわからないまま終わってしまうことが多いと思います。
一方で本なら「なぜネットワークは繋がるのか」などを読めば、この辺りの補足知識についても詳しく解説されています。
つまり、本の場合はより体系的に様々な知識も得られるということです。
[chat face=”d15d1ef3fc792ceafd4d75850b687cc3.jpg” name=”しろう” style=”maru” align=”left” border=”blue” bg=”blue”] 技術書を読んでいれば「なんとなーく理解したつもりになっていた知識」についても、より深く知れたりします! [/chat]
本はこのように体系的に深く学べるというメリットがあります。
③:より正確な知識を手に入れることができる
「より正確な情報を得ることができる」というのも本の良い点ですね。
ネットの記事などは、個人が書いているものも多く、他の人が確認することも少ないので、間違った情報や誤字脱字も意外とあります。
一方で本の場合、数人で書いて、確認することがほとんどなので、正確性が高いです。
[chat face=”d15d1ef3fc792ceafd4d75850b687cc3.jpg” name=”しろう” style=”maru” align=”left” border=”blue” bg=”blue”] ネットの記事だと無料なので、仕方がない部分もありますが、、、 [/chat]
このように本は正確性が高い部分も優れています。(たまに誤字脱字はありますが。笑)
④:イメージが掴みやすい
これは本にもよりますが、イラストや図解を用いて説明してくれている技術書は結構あります。
ネット記事では、文章だけでの説明や、イラストがあってもごく一部だけであったりする場合が多いと思います。
イラストや図解の良い所は、全体像や一連の流れ・動きをイメージで掴めるという点です。
プログラミングをしていればわかりますが、イメージがあるかないかで、理解度が大きく変わります。
そのため、本でイメージを掴むというのは、エンジニアとしてレベルアップするためにはとても重要なことです。
プログラミングで本はいらないと言う人たちの主張
ここまで読んでも、
[chat face=”218a039fe2d03b9959057fbd9f8365e2.jpg” align=”left” border=”gray” bg=”gray”] いや、結局調べたらネットで何でも出てくるし、やっぱり本はいらないよ [/chat]
と思っている人もいるかもしれません。
そこで、ここからは「本はいらない派」の主張を見ていきます。
主張①:ネットで調べれば出てくる
よく言われるのが「調べたら出てくる」という主張です。
確かに、調べれば大抵のことは出てくる有難い時代なので、わざわざ本で調べる必要はないかもしれません。
しかし、前述した通り、本の良い所は「体系的に補足知識も身につけられる」という点です。
確かに「どの関数(メソッド)を使えば良いのか」などのように、答えがすぐにわかるものは、ネットで調べるのが良いと思います。
ただ「技術についての全体的な仕組みや概念に知りたい」などの時は、本の方が圧倒的に優れています。
そのため、ネットと本の長所を認め合うことが重要です。
主張②:無料の学習サイトや動画がたくさんある
今の時代は有難いことにプログラミングを無料で学ぶことができるので、わざわざ本で学ぶ必要がないと思う人もいるはず。
ただ、これに関しては概ね正しいと思います。
ぶっちゃけ「簡単なコードを書いて、動かすだけ」なら本なんかよりも、ネットでやった方が楽だし、わかりやすいです。
ただ、何度もいっている通り、本が本領を発揮するのは「体系的により深い知識を学びたいとき」です。
ネットで調べる場合は、ピンポイントで情報を得たい時だと思います。
一方で、本の場合は、概念や仕組みを体系的に学びたいときにとても役立つ感じです。
そのため、初心者の方が「簡単なコードを書いてみたい!」という時は、まずは無料サイトや動画で手を動かせばOKです。
適材適所というやつですかね。
主張③:本を読むより、手を動かす方が良い
[chat face=”yaruki.png” align=”left” border=”gray” bg=”gray”]本を読むだけでは、スキルアップしないので、手を動かした方が良いって聞いたよ! [/chat]
これも間違いないと思います。
まだプログラミングを学び始めたばかりの人は、本で学習を進めるよりも、無料サイトなどを利用して、ガンガン手を動かしてみるべきです。
最初から本を読んでばかりだと、結局何をすれば良いのかわからなくなりますし、モチベも下がります。
ただ、ある程度のスキルが身についてきた時点で、本で理解を深めたりすることで、もっとレベルアップできますよ。
プログラミングにおける本の正しい活用の仕方【注意点】
ここからは、プログラミングにおける本の正しい活用の仕方を解説していきます。
まずは無料サイトなどで手を動かす【いきなり本はNG】
少し前述しましたが、いきなり本で学習を始めるのは避けた方が良いです。
本は補足知識が多すぎて、なかなか手を動かすことができません。
[chat face=”d15d1ef3fc792ceafd4d75850b687cc3.jpg” name=”しろう” style=”maru” align=”left” border=”blue” bg=”blue”]僕も最初の頃は、本を読むばかりで全然コードを書けないという時期がありました。笑 [/chat]
それよりも、最初は無料サイトなどで、ガンガン手を動かしていくのがオススメです。
知識がついてきたら、本でより深い知識を体系的に身につける
そして、ある程度の知識がついてきたら、本でより深い知識を身につけていきましょう。
体系的に深い知識を身につけたいなら、本を読むのが一番です。
本を読んでいると、
[chat face=”aaa5efdfcac8176e2c97bd14c612c26f.jpg” align=”left” border=”gray” bg=”gray”] へー今までなんとなくだったけど、だいぶ理解が深まったぞ! [/chat]
という現象が起きるはずです。
これを繰り返していけば、もっとレベルアップすることができます。
本を読んだら、出来るだけ知識をアウトプットする
本を読んだら、出来るだけ知識をアウトプットするようにしましょう。
本を読んでいると、
[chat face=”nomad_surfing_nangoku.jpg” style=”maru” align=”left” border=”gray” bg=”gray”] 俺ってもしかしたら、天才になったかもしれないぜぇ〜〜〜 [/chat]
というように、全知全能になった気分になることもあります。
ただ、残念なことに時間が経てば、覚えたこともすっかり忘れてしまうはずです。
そのため、出来るだけアウトプットは心がけてください。
アウトプットする時のコツ
アウトプットする際のコツとしては、
- 後から見返して、すぐに内容がわかるようにまとめる
- 実際に覚えた知識を使いまくってみる
- 誰かに教える
などを意識してみると良いです。
僕の場合は、このブログやTwtiter、あとはQiita(記事の投稿サイト)などを使って、アウトプットするようにしています。
そうすれば、後から忘れてしまっても、自分の記事やツイートを見ればざっくり思い出せるので、結構オススメです。
【補足】ただ、Kindle版など電子書籍はやめた方が良いかも
個人的な感想ですが、技術書に関してはKindleよりも紙の本が良いかと思います。
イラストや図解がページを跨いでいる時など、電子書籍だとすごく読みづらいんですよね。
それに、いちいち拡大するのも面倒です。
Kindle版の方が安く設定されていることがほとんどですが、できれば紙の本をオススメします。
プログラミング初心者におすすめの本を3冊だけ紹介
最後にプログラミング初心者におすすめの本を3冊だけ紹介しておきます。
①:Webとプログラミングのきほんのきほん
一つ目に紹介するのは「ちゃんと使える力を身につける Webとプログラミングのきほんのきほん」という本です。
タイトルの通り「プログラミングの基礎」を学ぶことができる本となっています。
こちらの本は、少しコードを書いてみて、ざっくりとプログラミングについて理解した人にオススメです。
インターネットの仕組み、Cookie・セッション、データベースなどについて学ぶことができます。
②:リーダブルコード
続いて紹介するのは「リーダブルコード」という本です。
一言でまとめると「より良いコードを書けるようになるための方法が書かれた本」です。
エンジニア界隈では「とりあえず読んでおけ」と言われるぐらい有名で良書です。
[chat face=”d15d1ef3fc792ceafd4d75850b687cc3.jpg” name=”しろう” style=”maru” align=”left” border=”blue” bg=”blue”] これを読めば、どのようなコードを書くのが良いのかが理解できます![/chat]
いますぐ全てを実践するのは難しいと思いますが、時々見返すだけでも役に立ちますよ。
③:プログラムはなぜ動くのか
最後に紹介するのは「プログラムはなぜ動くのか」という本です。
これは個人的に好きな本なので紹介しました。笑
プログラミングをしていると、時々「なんで、こんな動きが実現できてるの?」というのが気になってきます。
その答えが、この本に書かれています。
CPUとかメモリとか、ぶっちゃけコーディングとはあまり関係のない部分の話がほとんどですが、
エンジニアなら内部のことも知っておいて損はないはず!
ということで、もし余裕がある方はぜひこちらも読んでみてください。
【まとめ】本はより深く、体系的に知識を身につけるために使うべき
少し長くなってしまったので、本記事の内容をまとめます。
- 本は上位プレイヤーを目指すための道具である
- 初心者は本を読むよりも、手を動かすべき
- 少しコードが書けるようになったら、本でより深い知識を体系的に学ぶ
僕の考えでは、本は「”プログラミング言語の基礎的な書き方”を学ぶものではない」と思っています。
それなら本よりもネットの無料サイトの方が楽で、わかりやすいものが沢山あるからです。
本の立ち位置は「より上位プレイヤーを目指す道具」と考えておけば、本を適切に活用できるかなと思います。
本もしっかりと活用して、より良いエンジニアを目指してください。