Magnolia Tech

いつもコードのことばかり考えている人のために。

『教養としてのコンピューターサイエンス講義』は、現代の”教養”を理解するために必須の1冊

以前、第1版を買っていて、もう一回読み直そうと思っていたら、今年に入って第2版が出版されていたことを知り、第2版を買って読み直した。

いやぁ、改めて読んでみると、やっぱり「教科書」だ!

圧倒的なボリュームで現代的なコンピュータの構造、現代までに至る歴史、使われ方、取り巻く環境など、いろいろな周辺エピソードを交えて解説が続く。

プリンストン大学の一般人向けの講義がベースになっているので、普段からコードを書いたり、インフラを作っていたりと、コンピュータと日常的に触れている人にとっては割と「そりゃそうだよねー」という話ばかりだけど、改めて”一般の人にコンピュータを分かるように説明するためには、どんな語り口が必要なのか?”が分かると思うし、案外知らないことも(特に散りばめられたエピソード系は)有って、楽しめた。

とりあえずコンピュータについて、プログラミングについて、取り巻く環境について理解したい、という人が居たら、書名の通り「教養」としての理解レベルだったら、これを渡しておくといいんじゃないかと思いました。経営者みたいな立場の人にはぜひ読んで欲しいですね。

第2版で第4部「データと情報」が独立したのが、主な違いです(冒頭はやはりCOVID-19がもたらした環境変化が語られています)。

  • 第1部 ハードウエア
  •  第1章 コンピューターとは何だろう
  •  第2章 ビット、バイト、そして情報の表現
  •  第3章 プロセッサーの内部
  •  ハードウェアのまとめ

  • 第2部 ソフトウェア

  •  第4章 アルゴリズム
  •  第5章 プログラミングとプログラミング言語
  •  第6章 ソフトウェアシステム
  •  第7章 プログラミングを学ぶ
  •  ソフトウェアのまとめ

  • 第3部 コミュニケーション

  •  第8章 ネットワーク
  •  第9章 インターネット
  •  第10章 ワールド・ワイド・ウェブ

  • 第4部 データ

  •  第11章 データと情報
  •  第12章 人工知能機械学習
  •  第13章 プライバシーとセキュリティ
  •  第14章 次に来るものは?

ただ、全体として図表は少なめだし、それも理解を促すための解説みたいなものではなく、あくまで参考情報みたいなものなので、なかなか読み砕くのが難しく、これが誰からのフォローも無く理解できる人って既にコンピュータを取り巻く環境を一通り理解している人じゃない?みたいなところもありますね...


あと、ブライアン・カーニハンの著書といえば、『プログラミング言語C』が一番有名だけど、近作でいうと『プログラミング言語Go』が有るし、今でも新装版が入手できる『プログラミング作法』が有って、どちらもお勧めです。

ほんと、何歳になっても現役感が凄い!