こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
以前以下のようなツイートをしました。
プログラミングを始めたての時は技術書を1冊くらいは買った方がいい。
とりあえず読みやすいものでいいので寝る前とかパラパラめくって、技術に触れるのはありです。
基本的に持ち歩くのは重いので家で使ってますが基礎の部分を知るには結構良いです?
— もんしょー@リモートエンジニア|YouTube登録者600人突破 (@sima199407) January 12, 2020
プログラミングを始めたての時は技術書を1冊くらいは買った方がいい。
とりあえず読みやすいものでいいので寝る前とかパラパラめくって、技術に触れるのはありです。
基本的に持ち歩くのは重いので家で使ってますが基礎の部分を知るには結構良いです?
これについてもう少し詳しく解説していきます!
動画でも解説してます
プログラミング学習に本は必要?
学習というぐらいだから何か本で勉強しないといけないのか、参考書が必要なのかっていうところで結構議論あるかなと思います。
それとネットの情報で足りてるんじゃないの?っていう意見があるのでそこらへんも解説していこうかなと思います。
今回のキーワードは「情報収集の多角化」です。
プログラミングはやっぱ手で覚えるから
「本って必要ないんじゃないんですか」
「本買うメリットって何ですか?」
といった意見にも対応していこうと思います。
本を買うメリット
これは核心の部分なんですけども、実は僕はあまり本でプログラミングを勉強してこなかったんですよね。
どちらかと言うと、僕はプログラミングスクールにすぐ行ってそこで勉強したっていう経緯があります。
なるべく自分で作ったほうが早いと思ったんですよね。
その方が必要な知識は手に入れて必要な部分だけ実務経験、勉強できるかなと思ったんですよね。
逆算する弱点
現場でも結局必要に応じて調べて行くんでその知識というのは割と役に立ってはいるんですけど、やっぱり必要な文しか入れてない分 基礎的なところがちょっと抜けたりするんですよ。
必要なところがちょっと抜けてたりするんですね。
例えばカートボックスとかあるじゃないですか。
商品買ってカートに入れて合計いくらになるかっていうやつです。
あれは基礎のところで作るんですけど、そこで「あれこれどうやって作るんだったっけな?」でちょっと迷ったりとかしました。
最初は効率よく自分が必要な知識だけ入れていくっていうのは 全然いいんですが、その後に基礎のところを固めるっていうところで本が必要になってくるかなと思ってます。
駆け出しの頃に本一冊買っておくと、それをずっと読み込んで「ここって大事なんだな」というのがわかってくるかなと思います。
買うメリット
・必要な知識が並んでいる
・寝る前などに有効
・解説が丁寧
この三つが挙げられます。
さらに、この3つについて詳しく説明していこうと思います。
1.必要な知識が並んでいる
本を読むとだいたいは基礎の所っていうのが 最初に書いてあるわけなんですけど、それがちゃんとまとまっているので「ここを押さえておけばいいんだ!」っていうのがわかりやすいかなと思います。
そこを押さえておくと、基礎を応用して何か作っていくことができます。
例えば、掲示板を応用して SNS を作るとか。
そんな感じで大抵のことができる知識をまず覚えておくことによって、割と作業がスムーズ化するんじゃないかなと思います。
2.寝る前などに読むのが有効
四六時中エンジニアをやっているとパソコン作業が多かったりして目が疲れたりとかするので、なるべく寝る前はブルーライトを切りたいんですよ。
そうなると何か学習したかったり、寝る前暗記とかするのがいいって言われているのでそういったところで本を読んで「こういう知識そういえば 忘れてたな」っていうところを復習に当てるっていうのも1つポイントかなと思います。
3.解説が丁寧
ネットで調べられる知識っていうのは膨大にあって基礎から応用まで全部できるんですけども、やっぱりネットのドキュメントよりも本の方が割と解説が丁寧っていうところはあるかなと思ってまして。
曖昧な知識をもう1回学習するっていうところで本で一回わかりやすく理解するってことができるかなと思います。
なんやかんやドキュメントが 一番更新スピードが早くて正確な情報なんで、それがちゃんと読みとければ全然いいんですけど、その前の段階とかその後に実際どういう意味なんだろう?ってもう一回調べる時に本が必要になってくると思います
全て本で勉強するのは限界がある
本は結構勉強しやすいかなと思うんですが色々と難しい部分があって、手を動かして覚えるっていうところがプログラミングは一番大事なのかなと思っています。
例えば、英語を英文法だけ覚えました。
それだけじゃなくて英会話も実践的に使わないと見につかないよねっていうところがあります。
やっぱり何か自分で作ってみて、そこでエラーが出てきて、それを解決して少しずつ成長していくというのがあります。
理論はわかっていても実際行動書かないとプログラムを作れないので、学習2割の実践8割ぐらいでいいんじゃないかなと僕は考えます。
どんな本がいいのか?
最初は本当に初心者向けのもの、入門編でいいかなと思っています。
全部を把握しようとして本当に網羅しているような分厚い本じゃなくて、基礎の内容が分かるようなもので良いかなと思います。
分厚い本の良いところは、たぶん網羅しているんで全部勉強するとすごい知識量にはなると思うんですよ。
ただいくら良い事が書いてあっても読まなければその知識って身につかないので、
読める範囲の知識でいいのかなと思います。
本を全部読み込もうと思うと大変だったりするので、そういう意味で分厚くない本でいいかなと思います。
技術書の選び方
技術書ってすごい高いんですよね。
一冊1000円とかじゃなくて、2000円とかはたまた3000円とか普通にするんですよ。
例えば PHP の本で僕が一番最初に買ったPHP 7、MySQL とか書いてあるちょっと分厚いくらいの本なんですけど、それが税別で2980円しました。(以下のもの)
下のやつだとちょっと薄いんですが、しっかり入門みたいなやつが2380円ってところですね。
3000円超えないぐらいですがこんな感じで結構高いんですよね。
だから、何冊も買いたくないから網羅性の高いものを買おうと思って分厚いなかっちゃう人多いんですが、あくまで補助的な役割なのででそこまで分厚くなくても読みやすいものを買った方がいいんじゃないかなと思います。
基本的に Amazon とかで自分がやる言語、自分が勉強したい言語のランキングを見て2、3冊調べてみて、あとは実際に本屋さんに行ってみて自分にどれが合うかなっていうのを調べていけばいいんじゃないかなと思っております。
まとめ
まとめ① 本は補助的な役割として考えよう
本で全部勉強しようとするんじゃなくて、やっぱり補助的な役割なんでなるべく読みやすいものとか、入門編とか基礎のところを確立できるような本を選びましょう。
まとめ② 基本的に手を動かして覚える
手を動かしてなるべくトライアンドエラーをやっていくっていうのがまず大事なところなのでそこをやっていきましょう。
まとめ③ ネットと本をうまく使う
本だけだとやっぱり限界があったり新しい情報が入ってこなかったりするので、ネットの情報もちゃんとうまく利用してドキュメントを見たりとか本で補助したりとかそういったところをやっていくのが、プログラミングをやっていく上で重要な知識になってくるんじゃないでしょうか。
今回のまとめです。
・本は補助的な役割として考えよう
・基本的に手を動かして覚える
・ネットと本をうまく使う
https://simablog.net/beginner-programming/