Photo by edro Alonsoこんにちは。谷口です。
プログラミング初心者の皆さんは、OSや仮装マシン、ネットワークシステムやコンピュータアーキテクチャなどといったいわゆる低レイヤーの分野を学んだことはありますか?
低レイヤーの技術とは、すごく簡単に言うと、より物理的なコンピュータの仕組みに近い技術のことです。
例えば、初心者でもRubyやPythonなどで、「Hello World」を表示させる、「1+2」の計算結果を変数に格納する…などといったことはできますよね。では、print関数や四則演算の実行を命令したときに、コンピュータのどこで、どんなことが起きているのでしょうか?これを理解するためには、低レイヤーに関する勉強が必要です。
「プログラミングできたら何が起きてるかなんてわからなくてもいいじゃん」と思われるかもしれませんが、実務でシステム障害が発生したり、メモリやCPUを効率よく使えるシステムを作ったりするには、こうした技術の知識が不可欠となります。
そこで今回は、低レイヤー技術について学べる技術書を7冊ご紹介します。
コンピュータの構成と設計 第5版
上

- 作者:ジョン・L.ヘネシー,デイビッド・A.パターソン,成田光彰
- 出版社/メーカー:日経BP社
- 発売日: 2014/12/06
- メディア:単行本
- この商品を含むブログ (2件) を見る

- 作者:デイビッド・A・パターソン,ジョン・L・ヘネシー,成田光彰
- 出版社/メーカー:日経BP社
- 発売日: 2014/12/06
- メディア:単行本
- この商品を含むブログ (2件) を見る
コンピュータアーキテクチャについて、定番の入門書です。「コンピュータ」とは一体何物なのか、コンピュータの初歩から現代までの歴史、どうやって動いているのか、どうやって作ればよいのかが理解できるようになるかと思います。
「そんなこと学生時代に勉強したぜ、常識だぜ」って人にはもちろん必要ないです。ただ、異業種からエンジニアを目指したい人や学生さんの中には、「プログラミング言語については勉強したけど、ハードウエアやコンピュータ科学などについては全然勉強したことない」って人も多いですよね。そういう人たちも、いずれはこういう書籍を使って体系的に学んでおいたほうがよいと思います。
上下巻ありますが、Kindleでは上下合本が出ていて安くなっているので、紙じゃなくていい人はそちらのほうがいいですね。

- 作者:デイビッド・A・パターソン
- 出版社/メーカー:日経BP社
- 発売日: 2016/10/26
- メディア: Kindle版
- この商品を含むブログ (6件) を見る
30日でできる! OS自作入門

- 作者:川合秀実
- 出版社/メーカー:マイナビ出版
- 発売日: 2006/03/01
- メディア: Kindle版
- この商品を含むブログを見る
PCの仕組みやアセンブラなどの解説から始まり、初心者でもわかりやすく&面白く読み進められるかと思います。逆にすでにある程度OSの知識がある人にとっては物足りなく感じてしまうかもしれませんが、「初心者だけどこれからOSについて勉強したい、できたらOS自作してみたい」という人にはうってつけだと思います。
CPUの創りかた

- 作者:渡波郁
- 出版社/メーカー:毎日コミュニケーションズ
- 発売日: 2003/10/01
- メディア:単行本(ソフトカバー)
- 購入: 35人 クリック: 445回
- この商品を含むブログ (193件) を見る
マスタリングTCP/IP
入門編

- 作者:竹下隆史,村山公保,荒井透,苅田幸雄
- 出版社/メーカー:オーム社
- 発売日: 2012/02/25
- メディア:単行本(ソフトカバー)
- 購入: 4人 クリック: 34回
- この商品を含むブログ (37件) を見る

- 作者: Philip Miller,苅田幸雄
- 出版社/メーカー:オーム社
- 発売日: 1998/05/01
- メディア:単行本
- 購入: 7人 クリック: 70回
- この商品を含むブログ (39件) を見る
ネットワーク関係の授業で「これを読むと理解が深まる」と聞いて読んだ書籍です。その名の通りTCP/IPについて詳しく書いてあるため、実際にどのようにネットワークが通信しているかというようなことが具体的に想像できるようになりました。
プログラミング言語やWebデザインなどのトレンドとは違い、TCP/IPの仕様は基本的に大幅に変わることがないはずのものなので、ネットワークに少しでもかかわる人は、概念として知っておいたほうがよいでしょう。
TCP/IP Illustrated, Volume 1: The Protocols (2nd Edition) (Addison-Wesley Professional Computing Series)

- 作者: Kevin R. Fall,W. Richard Stevens
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2011/11/08
- メディア: Kindle版
- この商品を含むブログを見る
TCP/IPについてを詳しく説明した書籍。TCP/IPについて勉強したときに読んだ本です。TCP/IPプロトロルの詳細や実際の動作について詳しく書かれており、ネットワーク動作の解析をするためにtcpdump/Etherealの結果を読むときには特に役に立っています。
解析魔法少女美咲ちゃん マジカル・オープン!

- 作者:やねう解析チーム
- 出版社/メーカー:秀和システム
- 発売日: 2014/10/07
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
アセンブラやクラッキングについて、表紙の倉塚美咲ちゃんとお兄ちゃんの会話形式の解説を通して真剣に楽しく学べます。イラストも多くて美咲ちゃんかわいい。
計算機プログラムの構造と解釈 第二版

- 作者:ハロルドエイブルソン,ジュリーサスマン,ジェラルド・ジェイサスマン,Harold Abelson,Julie Sussman,Gerald Jay Sussman,和田英一
- 出版社/メーカー:翔泳社
- 発売日: 2014/05/17
- メディア:大型本
- この商品を含むブログ (4件) を見る
通称SICP。プログラミングではなく、あくまで計算機科学についての書籍です。情報系を専攻してこなかったけどコンピュータサイエンスの基礎を勉強したい人、Lispに興味がある人におすすめです。少し難易度は高めですが…。
まとめ
というわけで、低レイヤー技術について学べる技術書をご紹介しました。興味を持たれた方は、ぜひこの機会に読んでみてください。
また、paizaラーニングでは「シェルコマンド入門編」などを公開しています。
paizaラーニングは本日までの期間限定で、すべてのレッスンが全編無料公開となっております。Python、Ruby、PHP、C、Java、JavaScript、SQLなどといった人気言語が未経験から学べる入門講座や「Python×AI・機械学習入門編」「Webアプリ開発入門 Django編」などの人気講座も無料です。
プログラミングが動画で学べるpaizaラーニングについて詳しくはこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら