技術書を読む

1日目 ← 2日目 →   3日目

これはKCSアドベントカレンダー2022の記事です。

 こんにちは。Kanadeです。YouTubeでよく見られると思いますのでどうぞよろしくおねがいします。色んな人に勘違いされてるけどKanadeは本名ではありません。曲がりなりにも上級生なので、KCSのためになる記事にしようと思いました。そのため、普段お世話になっている技術書についての見識をまとめて置きます。

 本日の記事の概要配下の通りです。 

  1. 技術書を読もう
  2. 技術書の種類
  3. 技術書の読み方
  4. 技術書を安く読む

 私自身技術書がとても好きです。子どものとき、ゲームを持ってないのに攻略本を読んで楽しんでたときと何ら変わってないですね。気になる本があれば買っては読み切れなくて積む、ということを繰り返しています。積んじゃだめじゃねぇか!って思った方もいると思うんですけれど積んだ本一括精算する裏技があります。あとで軽く紹介します。

 それでは少し長くなるかもしれませんがよろしくおねがいします。

 

 

1.技術書を読もう

 なぜ技術書を読んでほしいのかを説明します。技術書の長所を纏めると

  1. 情報がうまく纏まっている
  2. 著者、発行年月が明確
  3. ネットの記事より比較的情報が正確なことが多い

1.情報がうまく纏まっている

 これが一番わかり易いネット記事との差異はこれです。ネットでのみで物事を学習しようと思うと、良い記事を見つけるのが大変です。例えば「機械学習」について学びたい、と思い「機械学習とは」で検索したとします。機械学習は最近ではメジャーな分野ですので「機械学習とは?徹底解説!」みたいなゴミみたいな記事が羅列することになります。良い記事を探すのが大変なんですね。

 ネットの紹介記事を全否定する気はなく、むしろ無知識の分野の0から1への学習には本より最適なときがあります。しかし、初心者向けの記事をいくら読んだところで1から2には進めません。そこからは情報がうまくまとまっている本の出番です。

2.著者、発行年月が明確

 技術書でまず見るべきは最後のページの発行年月です。情報の更新が早いフレームワークや新しいプログラミング言語についての本だと2, 3年前の本の情報はもう使い物にならないこともあります。バージョン違いのような今では通じないような情報に余計に悩まないためにも発行年月が明確なのは大事ですね。

 

3.情報が正確なことが多い

 本の情報はネット記事より情報が正確であることが多いです。これに関してはネットリテラシーの授業かなんかでたくさん言われてきたことだと思いますので多くは語りません。これに関してはむしろ本の内容が全てあっているとは限らない と逆説的に注意をする必要があります。

もちろん技術書には短所もあります。

  1. 情報が古いときがある
  2. 内容が難しすぎて読み進められない

 これらの短所は本の選び方、読み方によって解消することができます。

2.技術書の種類

 さて、読む技術書を選ぶにあたり、技術書には色んなタイプがありますので自分なりにまとめてみます。

  1. その分野を学ぶにあたり読むべきバイブル本(理論系)
  2. 1を補足、要約した解説本
  3. その分野の細部をさらに掘り下げた本
  4. やってみた、やってみよう系実践本

 1はネットワークでいう「マスタリングTCP/IP」CSでいう「パタヘネ」機械学習でいう「PRML」のようなその分野を学ぶんだったらとりあえずこれ読んどくといいよ!って紹介されるような本たちです。大学の講義で教科書に指定されるような本の多くがこれだと思います。これらの本はその分野の知識が体系的にまとまっているので2, 3, 4の技術本と併用しながら辞書的に使うものが多いと思います。

  1に分類されるような本は内容が難しくそれだけだと初学者が詰まってしまうことが多いため、2, 3の本と併用して複数の本で学習していくことになるでしょう。これは3章で説明します。

 多くのオライリー本や技術系同人誌に多いのが4です。コードを写経していったりコードを変更してみたりして実際にコードを書きながら学習していくことができます。コードを書くための必要最低限の知識しか書いていなかったりするので1, 2, 3の本と併用して読んでいきましょう。

 また、技術書にも商業誌と同人誌があります。

 商業誌は情報は比較的正確ですが、儲けを出さなければいけないのでマイナーな分野に関する本は極端に減ります。同人誌は情報の正確さこそ商業誌に劣りますが、自作OS、自作ルーターなどマイナーな内容のやってみた本など商業誌にないような内容の本を読むことができます。しかもお金をとっている分内容がブログより充実していることが多いです。

 と、このようにどの本も大事なので全部読みましょう!(増える積み本)

 

3.技術書の読み方

 さあ、技術書を読みましょう。本の読み方を概説します。

  1. 発行年月日を見る
  2. 目次を見てみる
  3. 修正がないか確認
  4. 序章、1章を読む
  5. 好きな章を読む
  6. 適宜必要な章を読む

 技術本は1から順番に全部読む必要はありません。 

まず本を買ったり借りたりする前に発行年月日を見てみましょう。新しいフレームワークや新しい言語についての本であったり流行り物の解説をしている本を読みたいときには特に注意です。現在の見解と全く違うことが書かれていたり、情報が古い、バージョン違いで添付コードが動かなかったりします。そのような本は読むとむしろ混乱を生む可能性があるので読むべきではないです。

 情報の更新が早い分野はむしろネットで学習したほうが良いときもあります。

 本を読む前に目次もみてみましょう。タイトルが面白そうでも自分のほしい情報が書いていない可能性があります。また、面白そうな章を見つけることができます。

 次に修正がないかを確認します。特に前章の1に分類されるようなバイブル本は公式ページで誤植の修正がまとめられていることが多いです。読む前に確認し、符号間違いなど大事そうな修正なら付箋でも貼っておけば安心です。余計に悩むことがなくなり安心です。見つかってない誤植もある可能性に注意。

 読む順番は人の好き好きだと思いますが、序章、1章はまず読みましょう。殆どの場合その本の狙い、必要な前提知識、本の内容の概要など大切な内容が書かれていることが多いです。大事な内容が書いてある分読むのが大変なことがありますが、大切な内容なので読んでおきましょう。

 本にもよりますが、そこまで読めればあとは好きな章を読みましょう。1章を読んで読み方を指定されている本があればそれに従ったり、自分が使える言語についての章はまるまる飛ばしたり、自分の好きな章だけ読んだり…。

 飛ばし飛ばし好きな章を読んでいたら前章の知識が前提になっているところがあります。そうなったら前章に戻って読みましょう。そんなことを繰り返すと結局全部読むことになりそうですが、こうすることで知識の使いどころがわかった上で学習することになるので順番に読むより内容が入りやすいと思います。これに関しては読む人の性格によると思います。

 先程積み本を一括精算する裏技と言いましたが、自分なりに考えた「1時間技術書速読」は理工学部アドベントカレンダーで紹介しようと思います。簡単に説明すると「1冊1時間で技術書を流し読んで内容をざっくり知る」というまあ技術書ではしないような読み方ですが、ちゃんと(?)利益はあると考えています。

4.技術書を安く読む

 技術書は高い!そう思ってないですか?

 大学生なら大学図書館を有効活用しましょう。ほしい本がなければリクエストをしてみるのもありです。技術書ならだいたい買ってくれます。ちょっと読んでみたいなあって本は図書室に買ってもらいましょう。

 KCSの部室の本棚、結構充実しているので見てみましょう。

 Kindle Unlimitedを有効活用しましょう。Kindle Unlimited、サブスクリプションで読める技術書なんて大したことない、と思われる人も多いでしょう。半分正解ですが、有用な本もかなり多くいろいろな知識を蓄えたい人には加入をおすすめします。

 Kindle Unlimitedにある本の例を紹介します。

内田さんの「自作エミュレータで学ぶx86アーキテクチャ」が読めるのにはかなり驚きました。技術系の同人誌から出版されている技術誌の電子版まで

 

Kindle Unlimitedのいいところが

「読書履歴に応じておすすめ本を紹介してくれる」

機能があることです。なので気になる分野の本を読めばその分野と少し離れた分野の技術本をおすすめしてくれるのでそれを読む、といったスパイラルを回すことができるのでとても便利です。入らなくても対象本は見ることができると思うので是非見てみましょう。

 

まとめ

 技術書は読めば読むほど知識が付きますが、コードは書かないとコードがかけるようになりません。そこらへんのバランスをしっかりして技術書を楽しみましょう!

Posted on: 2022年12月2日, by :