導入
皆さん、何かを学びたいなって思われたときはどのように学ばれますか?周りにそれに精通した人がいればその人に聞くのもいいですし、今の時代ちょっとyoutubeを調べればたくさんわかりやすい動画も出てきます。
しかし、やはり体系的に、整理された知識や技術を得たいと思ったときは書籍を読むのがベストでしょう。ということで今回は小5から僕が読んできた、そしてこれから読みたいと思っている書籍を紹介したいと思います。
今まで読んだ本
言語系
スッキリわかるJava入門
僕が初めてプログラミングを学んだ時に読んだ本です。
本当に全くプログラムを触ったことがない人向けに変数の説明からオブジェクト指向までこれ一冊で丁寧にわかりやすく解説してくれてます。この本がなければ僕はプログラミングを始められなかっただろうと思うくらいには良書です。
これは持論ですが最初のプログラミング言語にjavaを選択していれば大抵の他言語にはあとから適応することが可能だと思うのでぜひ初心者にお勧めしたい一冊です。
スッキリわかるJava入門 実践編
さっきの続編です。
一通りjavaがわかるようになった人向けに、ジェネリクスや無名関数、匿名クラス、configファイルの扱い、gui、音など各種データの扱い方などアプリケーションを実際に作るときに必須となってくる知識に加え、gitの使い方やテストの仕方などエンジニアの基本までカバーしている本です。感覚的にはこれを読んでやっとまともにプログラムが書けるようになる、といった感じです。
スッキリわかるPython入門
さきほどのjava入門のpython版です。構成もjavaのとほぼ同じなので初心者におすすめです。
スッキリわかるSQL入門
またまた同じシリーズですが今度はSQLです。
この本もほかのと同様SQL完全入門者用となっており、SQLとは、テーブルとは何なのかという問いから、複数のテーブルの扱い方、トランザクション、バックアップなど実際のシステムでの扱い方まで学べる本です。
SQLなんだそれ!ファイルじゃ扱えないようなビッグデータどうやって扱うんや!って人におすすめです。
手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた
最近人気のrustです。
pythonとの対比で書かれており、rust独特の概念である所有権やライフタイムからもちろんマクロやスマートポインタなど幅広く説明されており、これが完璧にできればだいぶrustが書けるようになるでしょう...
筆者は諸々挫折しているのでまだその領域に達せていませんが...
以下まだ読めてない本
・C, Zig, Haskell(関数型言語)の入門書を探してます...何かおすすめあれば教えてください...
AI・機械学習系
スッキリわかるPythonによる機械学習入門
はたまたスッキリシリーズですが機械学習の基礎である分類や回帰について学ぶことができます。DeepLearningは扱っていませんが機械学習とはいったい何をしていて、どんな時にどんな手法を使えばいいのかがわかるようになります。
AIのことについて全く知らない人におすすめです。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
有名すぎて紹介するまでもないと思いますがかの「ゼロつく」です。
使うライブラリをnumpyなどの線形代数ライブラリなどにとどめ一からDeepLearningを実装をしてみようという良書で非常にわかりやすく説明されているだけでなく自分の手で実際にコードを書いて実行できるので理解できるし何よりうまくいったときの達成感がすごくて楽しいです。
頑張ってrustで実装しようとするような変わりものもここにいたりします。兎にも角にもめちゃくちゃおすすめです。
以下読めていない本
- ゼロつく2以降
まあ、せっかく1をやったのでということで。次に出る6はLLM編ということでめちゃくちゃ気になってるのでいつかやりたいです。
- Kaggleで勝つデータ分析の技術
将来的にkaggleをやりたいなと思っているのでいつかやりたいと思って途中まで読んで放り出してしまっている状態です...
セキュリティ系
ホワイトハッカー入門
その名の通りホワイトハッカーの入門書です。
nmapを用いたポート探索から、DDosなどの最近の攻撃手法の解説から、実際にmetasploitを用いてSQLインジェクションなどの攻撃をするところまでホワイトハッカーの基礎が詰め込まれています。
セキュリティを初めて学ぶ人におすすめです。
ハッカーの技術書
先ほどのホワイトハッカー入門はlinuxやwebを攻撃対象として触れる程度でしたがこちらはもう少し幅広い攻撃対象について解説しており、linux、windows、AWSなどシチュエーションに応じた攻撃がわかります。
攻撃手法も少し細かいものになっているのでもう少し深く学びたい人におすすめです。
暗号技術入門
昔使われてた暗号から現代でも使われている暗号まで幅広い暗号技術について非常にわかりやすく解説されています。ハッシュ、対象暗号、公開鍵暗号、デジタル署名などの暗号技術の基礎からRSAや楕円曲線暗号、PGPやTSL/SSLなど具体的な暗号についても学ぶことができます。
何言ってるか意味わからんって人は読むことをおすすめします。
量子コンピュータ系
以下まだ読めていない本
- 動かして学ぶ量子コンピュータプログラミング ―シミュレータとサンプルコードで理解する基本アルゴリズム
量子コンピュータについて何も知らないので何とかして知識をつけようとしている所です。半分くらいはもう読みました。今必死で読んでます。
- Quantum Computation and Quantum Information: 10th Anniversary Edition
あまり知らないですが良書らしいです。オンラインでもあるのでいつか...
競プロ系
問題解決のための「アルゴリズム×数学」が基礎からしっかり身につく本
競プロでよく使われるアルゴリズムについて解説している本ですが、数学に対しても手厚く解説されていて義務教育がちゃんとできている人なら理解できるように作られています。この本がなければ僕は競プロで勝てなかったと思うくらいにはお世話になりました。ここで紹介されているアルゴリズムも競プロだけでなく他の様々な分野でも使えるものだと思うのでプログラムを書く人全員におすすめです。
以下まだ読めていない本
- 競技プログラミングの鉄則
さきほどのアルゴリズム本よりもさらに詳しくアルゴリズムについて解説している本です。競プロやる人は必見!なのですが時間がなく投げ出してしまっている一冊...
車輪の再発明系
以下まだ読めていない本
- ゼロからのOS自作入門
かの「みかん本」です。osがどうやって動いてるのかという純粋な興味です。
- つくって、壊して、直して学ぶシリーズ
これも有名シリーズですね。この辺がどうやって動いてるかは知っておきたいところ。
-
コンピュータシステムの理論と実装 第2版 ―モダンなコンピュータの作り方
筆者があまりにも低レイヤに弱すぎるのでいつかやりたいと思ってます。それもなるべく早く。 -
低レイヤを知りたい人のためのCコンパイラ作成入門
何と無料公開!コンパイラを一から作れるらしいです。筆者はCコンパイラどころかCすら怪しい人間なのでこれは本当に時間があればですが...
その他
スッキリわかるサーブレット&JSP入門
またまたスッキリシリーズですが今度はwebの基本です。コントローラクラスやセッション、データベースなどのwebのbackendの基本的な仕組みや設計を一通り学ぶことができます。全然webに触れてきてなかったので知るいい機会になりました。
以下まだ読めていない本
- The Art of Readable Code: Simple and Practical Techniques for Writing Better Code
これも非常に有名ですね。コードを書くうえでどのようなことを意識するべきなのか、例えば変数名、はたまた処理の記述など「読みやすい」コードを書くうえで重要なことが詰まってます。これも途中で止まっているので...いつか...
- マスタリングTCP/IP―入門編
これも有名らしいですね...筆者は正直言ってこの辺の知識が全くなくブラックボックスでなんとなく言われるがままに使っているといったとてもじゃないが目も当てられない状態なのでこの状態を脱すべく...
おまけ
ここからは技術本ではないですがあったらプログラムにも組み込めそうな仕組みを持っている...かもしれない数学や生物学の本を紹介したいと思います。興味ない人は飛ばしてください。
数学ガール/フェルマーの最終定理 (数学ガールシリーズ 2)

数学ガールももう名著中の名著といった具合でしょうか...これはもとはといえばモジュラ逆数が全くわからなくて「これわかりやすいよ!」という声を頼りに買ったものでしたがほかの内容も非常に面白いしわかりやすくついつい浸ってしまいました...いつかほかの巻も読みたいなぁ...とは思っています。
Newton
紹介する間でもないほど有名ですね。
数多くあるNewtonの本の中でなぜiPS細胞を選んだかというと一番読み漁った記憶があるからです。ほかにもたくさん読んでます。各ニュートン本がそれぞれのテーマについて解説されているもので、中でも細胞大図鑑とかそういう図鑑系はほんとにそれについてよくまとまってて学校なんかより全然わかりやすく深く最新に近い知識が得られます。
読んだことない、という人はお好きな分野について書かれた一冊を手に取ってみてはいかがでしょうか。
真夜中に猫は科学する エクレア教授の語る遺伝や免疫のふしぎ
流石にこの記事を読むような方で知っている方は少ないかな...と思いますがこれはめちゃくちゃお勧めです。生物学、特に遺伝学や細胞生物学について一般向けに分かりやすく解説されている本で、小学生当時何回も読んでいました。教授も学生も猫の会話形式の本で堅苦しくなく楽しく学べます。
時間があれば高校生になった今もたくさん読みたいくらい僕が好きな本です。
最先端の生命科学を私たちは何も知らない
さっきのエクレア教授の本より詳しく解説されている本です。
細胞とはいったい何なのかという話や病気の時一体どんなことが起こっているのか、オートファジーとはなんなのかなどなど耳にはするけどよく知らないといったことがわかりやすく解説されています。
以下まだ読めていない本
- 新・大学生物学の教科書
正直今の筆者の生物学の知識だとほかで利用するもクソもないのでいつか読みたいなぁ...と思っています。ちなみに中学生の時に読もうとして挫折しました(当たり前)
- Molecular Biology of the Cell
かの?The cellです。生物学に詳しい知り合い曰く生物学界での名著中の名著らしいです。いつか読んでみたい...
あとがき
えー...例のごとく長くなってしまいましたね...わかってるなら工夫しろって話ですが...果たしてここまで読んでくれる人はいるのでしょうか...いたら本当にありがとうございます...すみません読みにくい文章で...
まあ、そんな話はさておき、いろいろまとめてみました!何かやろうとしてるけど何読んで勉強すればいいかわからん!って人の参考に少しでもなれば幸いです。
最後に付けたおまけですが、一見全然ITと関係ないように思えます。まあ、ここからは僕の完全な持論ですが、こういう数学や生物、特に生物の構造や仕組みの知識というのはこれから絶対に使える知識になっていくと思います。
数学はかの有名なRSAなど暗号技術に多く使われているほか、アルゴリズムでも数学的な証明や数学的な背景をもとに作られているものも多くあります。また、生物というのは生き残るために非常に効率的な形に進化してきました。その結果頭では思いつかないような構造を生み出し現にDeepLearningのNNなどの形として利用されていたりします。
まだ何一つまともに体系化された知識をもたないような一高校生ですが、広く学ぶことが好きでいろんなことを学んでいくうちにそんなふうに思うようになりました。もし、まだ全くこの辺を学んだことがない人がいたら、ぜひ一度この楽しく興味深い分野を学んでみてほしいなと思います。
こんなところで今回は終わりたいと思います。ほかにも何かおすすめの書籍あればぜひ教えてください。また読み終わったり読んでみたいものができたら順次追加編集していきたいと思います。




























