新年度が始まる4月。新しいプロジェクトや環境に身を置くITエンジニアも多い季節です。技術の移り変わりが激しい世界だからこそ、その場しのぎではない「長く通用する基本」を身に付けておきたいもの。流行に左右されず、10年後も支えになる考え方や原則を学べるITエンジニアのための定番書5冊を選びました。

シリーズ累計86万部の中で最も売れている名著

1. 『プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識 』矢沢 久雄 著

 今回ご紹介する累計86万部の『なぜ~』シリーズの中で最初に出版され、最も売れている名著です。

 プログラムがコンピュータの中でどのように動作するのかを、誰にでも分かるように説明。「プログラムはメモリーにロードされ、中央演算処理装置(CPU)によって解釈・実行される」という仕組みを、多数の図を使って、順序立てて解説しています。

 14年ぶり、待望の改訂第3版となる本書では、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆が加えられています。

 新たに書き下ろされた第12章では、Pythonを使った機械学習を取り上げています。初めて機械学習を体験する人には、コンピュータとプログラムの活用方法としての人工知能(AI)を身近に感じられるはずです。

    【主な内容】
  • プログラマにとってCPUとはなにか
  • コンピュータが小数点数の計算を間違える理由
  • メモリーとディスクの親密な関係
  • 自分でデータを圧縮してみよう
  • プログラムはどんな環境で動くのか
  • OSとアプリケーションの関係
  • コンピュータに「学習」をさせるには

気軽にコンピュータ全般の知識を身に付けたい人に

2. 『コンピュータはなぜ動くのか 第2版 知っておきたいハードウエア&ソフトウエアの基礎知識』矢沢 久雄著

 手っ取り早く、気軽にコンピュータ全般の知識を身に付けたいという人に最適な1冊。ハードウエア、ソフトウエア、データベース、ネットワーク、セキュリティというコンピュータを使いこなす上で必要な知識を解説しています。

 ハードウエアの基本的な仕組み(プロセサ、メモリー、入出力)から、ソフトウエアの実際(プログラム、アルゴリズム、データ構造、データベース、ネットワーク)とシステム構築までをカバー。これからプログラマーやSEを目指す入門者から、基本を一通り学びたい文系エンジニア、さらには、もう一度学び直したいベテランエンジニアまで、コンピュータを動かして成果を得ることの楽しさと仕組みを知りたい人に役立つ内容です。

 初版発行から19年ぶりとなった待望の改訂第2版では、プログラム部分はPythonでの記述に一部変更するなど、今後10年通用するよう内容を全面的に更新しています。

    【主な内容】
  • コンピュータの3大原則とは
  • コンピュータを作ってみよう
  • 川の流れのようにプログラムは流れる
  • アルゴリズムと仲良くなる7つのポイント
  • 作ればわかるデータベース
  • ネットワークコマンドでネットワークの仕組みを確認する

オブジェクト指向の全体像と各技術を分かりやすく

3. 『オブジェクト指向でなぜつくるのか 第3版知っておきたいOOP、設計、アジャイル開発の基礎知識』平澤 章著

 現在のソフトウエア開発技術の主役である、オブジェクト指向の全体像とそこに含まれる各技術を平易な文章で核心をズバリと解説した1冊。

 第2版発行から10年ぶり、待望の改訂第3版になりますが、生産性の鍵を握るプログラム開発の主要技術を分かりやすく教えるという位置付けは変わりません。

 そのうえで「今ドキのOOP」として人気言語(Java、Python、Ruby、JavaScript)の最新動向を新たに盛り込んでいます。

 初版では、「オブジェクト指向は現実世界をそのままプログラミングする技術である」という解釈を否定することに重点が置かれていますが、3版ではそのトーンを弱め、オブジェクト指向がなぜ難しいのかがより客観的な視点で説明されています。

    【主な内容】
  • OOPを理解する近道はプログラミング言語の歴史にあり
  • メモリの仕組みの理解はプログラマのたしなみ
  • 汎用の整理術に化けたオブジェクト指向
  • UMLは形のないソフトウエアを見る道具
  • 現実世界とソフトウエアのギャップを埋めるモデリング
  • オブジェクト指向から生まれたアジャイル開発

ネットワーク全体の動きを探検ツアーでたどる

4. 『ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識』戸根 勤著/日経NETWORK監修

 インターネットを通ってサーバーまで行って帰ってくる道筋の途中には、今のネットワークの主要な技術要素が全部あります。そこでの機器やソフトウエアがどのように動き、連携しているのかを探検すればネットワーク全体の動きが分かります。

 本書では、ウェブブラウザーにURLを入力してからウェブページが表示されるまでの道筋を探検ツアーのようにたどりながら、その裏側で働く技術を説明しています。

 第2版となる本書では、全体の構成が見直され、探検の途中で、今、ネットワークのどの部分にいるのかを明確にしています。また、各技術の基本的な考え方や成り立ちなど、基礎的な解説を大幅に増やしたほか、個別の補足説明も注釈として多く取り入れています。

 大事な点は「要約」としてまとめ、読んで記憶に残るようにしました。初心者の方も、基本的なところからきちんと理解して読み進めてもらえます。

    【主な内容】
  • Webブラウザがメッセージを作る ―ブラウザ内部を探検―
  • TCP/IPのデータを電気信号にして送る ―プロトコル・スタックとLAN アダプタを探検―
  • ケーブルの先はLAN機器だった ―ハブとスイッチ、ルーターを探検―
  • アクセス回線を通ってインターネットの内部へ ―アクセス回線とプロバイダを探検―
  • サーバー側のLANには何がある
  • Webサーバーに到着し、応答データがWebブラウザに戻る ―わずか数秒の「長い旅」の終わり―

データベースの仕組みが具体的に分かる

5. 『データベースをなぜつくるのか 知っておきたいE-R図とSQLの基礎』 矢沢 久雄 著

 コンピュータ・システムで重要な役割を果たしている「データベース」。そのデータベースの基礎知識と使いこなすための方法を1冊で分かりやすく解説しています。

 データベースの基礎知識をイチから説明したうえで、データベースの設計で使われるE-R図と、データベースの実装で使われるSQLを詳しく説明。Pythonを使って、データベースを利用するプログラムの作り方も示します。これらを知れば、データベースの仕組みが具体的に分かるだけでなく、その作り方も具体的に分かります。

 長年にわたってIT企業の新人研修をされてきた著者の矢沢久雄さんが、「データベースの分野では、なかなか良い書籍がなく、それならいっそ、自分で書いてしまおう!」と、書いたものです。「データベースの基礎をつかんで、設計したり操作したりできるようになりたい」という方にお薦めです。

    【主な内容】
  • データベースの基礎知識
  • トップダウンによる設計/ボトムアップによる設計
  • E-R図の書き方
  • 表の作成とデータの登録
  • 基本的な検索/高度な検索
  • 更新とトランザクション
  • プログラムからデータベースを使う

構成・文/磯部麻衣