こんにちは。先日TwitterでAIが発達してきた現代において、「学ぶべき領域はどこで、どんな本を読むと良いか」を紹介したところ結構反応をもらえたので記事としても残しておこうと思います。
最初にお伝えしておくと、AIの登場によって少なくとも直近数年は情報の更新が激しくなります。
長い人生、すぐ役立つものだけを選んでいるといつか追いつけなくなりますよ。
おすすめの本 4選(結論)
説明が結構長くなってしまったので、最初の4冊を並べてしまいます。今回は特にWeb系の人向けに選びました。
どれもコードを書くことというよりも、根本的な仕組みや基盤になっている知識を学べるものです。
何を学ぶべきか:低レイヤーの「枯れた」知識
AIの目覚ましい進化の中、我々人間は何を学び、糧にしていくべきなのでしょうか。
それは、「物事の原理原則、あるいはそれに近い部分」だと考えています。
少なくともAIが得意とする分野で真っ向から勝負するのは、一部の人以外勝負になりません。プログラミングという領域で言えば、決まった要件や特定の機能をコードに落とし込むことはほとんど造作もなくなって来ています。皆さんもChatGPTに指示を出してコードを書いてもらった事例をすでにいくつも見ていますよね。
一方で、AIに対して的確な指示を出したり、AIの回答が正しいかどうかを判断する工程は人間が行う必要があります。
例えばコードであれば、
- 処理の内容、順番が正しいか
- 目的を果たせているか
を誰かが確認しなければなりません。となると、プロダクトの設計や「何をもって正しいとするか」を判断できる人が必要です。
正しさの基準になるのは、要件定義的な話かもしれませんし、セキュリティ的な話かもしれません。そういった知識を広く持っておくことが重要です。
であれば、表面的な知識や変化の激しい領域よりも変化の少ない低レイヤーの「枯れた」知識を重視すべきです。
そういうわけで、Web系エンジニアの人であれば、コンピューターやプログラムそのものの知識、そしてWebの仕組みをぜひ学びましょう。
おすすめの本 4選(紹介・解説)
プログラムはなぜ動くのか
コンピュータはなぜ動くのか
上記2つは一見コードを書く部分からはかなり離れていますが、そのコードが動く裏側にはいろんな技術が積み重なっているということが書かれています。
「プログラムがなぜ動くか」には、
- CPU、メモリ、記憶領域について
- 2進数とは何か
- データの圧縮
- OSとアプリケーション
- アセンブリ言語
- ハードウェアについて
- etc
について、「コンピュータはなぜ動くのか」には、
- コンピュータの3大原則(入力、演算、出力)
- コンピュータの作り方
- アルゴリズム
- データ構造、データベース
- オブジェクト指向
- TCP/IPネットワーク
- 暗号化
- XML
- etc
について書かれています。非常に幅広く、どれも今のWebには欠かせないものばかりです。絶対に知っておきましょう。
httpの教科書
http通信の仕組みを体系的に学ぶことができます。Webを主戦場にするなら間違いなく使う技術ですから、絶対に理解しておきたい領域です。
また、やや浅めではありますがセキュリティの話もしっかり書かれています。攻撃者がどのような方法で攻撃してくるか、そしてそれをどう防ぐかをHTTPに関する観点から解説されています。
Webを支える技術
こちらはhttpのみならず、そもそもURLの仕組みやWebサービスの設計概念(REST APIなど)についても触れられています。
Webがそもそも何なのか、Webの歴史、Webで利用される基本的な技術(HTTP、URLの設計など)の解説、そしてWebサービスの基本的な設計にまで触れられておりWebに携わる/携わりたい人にとって必読の1冊です。
まとめ
というわけでおすすめの本4選の紹介でした。今回はWeb系の人向けに選びましたが、もちろん「物事の原理原則、あるいはそれに近い部分」という観点で良い本は他にもたくさんあります。
どういう属性の情報を得るべきか、を常に考えながら情報に触れるとまた新たな発見があります。
AIによって今まで以上に変化の激しい世の中を渡りきるために、ぜひ頭を使って生きていきましょう。
コメント