夏休みにまとめて読んでみたい本(エンジニア編)

お盆も近づいてきてもう夏休みに入っている方も多いのではないでしょうか。
せっかくのお休みでも帰省や家族サービスなど忙しいかもしれませんが、こんな時こそエンジニア力を上げるための読書をしてみてはいかがでしょうか。
ということで、どちらかというと普段あまり読む時間がとりづらい基本的な知識についての本をあげてみました。


Rによるやさしい統計学

Rによるやさしい統計学Rによるやさしい統計学
山田 剛史 杉澤 武俊 村井 潤一郎

オーム社 2008-01-25
売り上げランキング : 37039

Amazonで詳しく見る
by G-Tools

私が今統計にハマっているのもあるのですが、まずはこちらの本をあげてみました。
R言語は数学を扱うのに最適化されたオープンソースの開発言語で方程式やマトリックスを簡単に扱うことができます。
エクセルでも統計計算はできますが、スプレッドシートというインターフェースにしばられているのでバッチ的な使い方ではこちらのほうがいいですね。
それにただですし。
この本は私のような統計を全く知らない人向けに書かれているので、統計の基本的な知識も学べます。
これでいろんなデータを集めていろいろ分析してみたいですね。


オブジェクト指向入門 第2版 原則・コンセプト
オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)オブジェクト指向入門 第2版 原則・コンセプト (IT Architect’Archive クラシックモダン・コンピューティング)
バートランド・メイヤー 酒匂 寛

翔泳社 2007-01-10
売り上げランキング : 228079

Amazonで詳しく見る
by G-Tools

オブジェクト指向はいまやソフトウェア開発では常識となっていますが、本当に理解している人はどれくらいいるのでしょうか?
この本はそんなことを思い知らせてくれる内容の濃い本です。
昔、私はアメリカの大学の授業でEiffleという開発言語を使ったことがあるのですが、この著者が作った言語でした。
Eiffleは静的型オブジェクト指向開発言語でプログラムを厳格に開発できるいい言語だったのですが、かつぐベンダーがいなかったのと当時のマシンではちょっと重すぎて使いづらかったので広まらなかったですね。
でもJavaRubyなどに影響を与えて一部Eiffleの仕様が取り入れられています。
かなりのボリュームなので読むのは大変ですが、エンジニアとして一皮むけることができるのではないでしょうか。


動かしながら理解するCPUの仕組み

動かしながら理解するCPUの仕組み CD-ROM付 (ブルーバックス)動かしながら理解するCPUの仕組み CD-ROM付 (ブルーバックス)
加藤 ただし

講談社 2010-01-21
売り上げランキング : 173187

Amazonで詳しく見る
by G-Tools

Z80というCPUをご存知でしょうか。
8bitパソコン(当時マイコンと呼ばれてました)全盛のころ一斉を風靡していたCPUで、シャープやNECなどからZ80搭載のパソコンが売られていました。
いまでこそインテルが全盛ですが、その場しのぎの増築をした感じだったインテルCPUよりアーキテクチャーがとてもきれいなZ80のファンのほうが多くいました。
なのでCPUの動きを学ぶにはZ80はとても向いているCPUだと思います。
この本はそのZ80を題材にCPUとはどう動くのかを解説した本です。
CPUは意外に単純なことしかできなくて、レジスタと呼ばれる一時記憶領域とメモリ間のデータ移動とI/Oポート経由のデータのやりとりが大半の仕事を占めています。
そんな単純なことしかできないチップが社会を変えるほどの製品だったとは驚きですね。
付属CDのソフトはWindows上で動くCPUエミュレーターで動きを視覚的に見ることができます。
(ただし、64bit版Windowsでは動かないようなのでご注意を。)


デザイン・ルール―モジュール化パワー

デザイン・ルール―モジュール化パワーデザイン・ルール―モジュール化パワー
キム・クラーク カーリス・ボールドウィン 安藤 晴彦

東洋経済新報社 2004-03-26
売り上げランキング : 297346

Amazonで詳しく見る
by G-Tools

この本はシステムのアーキテクチャはどうあるべきかを私に教えてくれた本です。
本のテーマはシステムのモジュール化ですが、その例としてIBM System360というメインフレームコンピュータがあげられています。
Wikipedia IBM System/360
System360はいまでは当たり前な拡張カードをさすためのスロットを装備するなど、はじめてモジュール化を実現したコンピュータでした。
それまでのコンピュータは一体型だったので機能拡張するためには本体を買い換えるしかありませんでした。
また、システムがモジュール化することによって産業構造も変わりました。
それまではIBMという巨大な企業が一社で全てのモジュールを売っていましたが、周辺機器を専門に製造するメーカーがたくさん登場しました。
多くはIBMからのスピンオフだったそうですが、これによって産業構造がシステムに合わせて水平分業体制に移行していきました。
この水平分業が可能になったのもSystem360のモジュール間インターフェースが標準化されていて、一部の変更が他モジュールに影響しにくい構造になっているからでした。
これに対して自動車など日本企業が強い産業では一体型の製品が中心なのでモジュール間の結合性が強くてすり合わせの文化になっていきました。
これは品質を上げるのにはいい体制ですが、産業構造が大企業を頂点とするピラミット構造になってしまいます。
日本で新しいイノベーションが起こりにくいのもこのようなことが原因なのかもしれません。
こんな感じで私にとっては色々考えさせられた本でした。


イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき

イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき (Harvard business school press)イノベーションのジレンマ―技術革新が巨大企業を滅ぼすとき (Harvard business school press)
クレイトン・クリステンセン 玉田 俊平太 伊豆原 弓

翔泳社 2001-07
売り上げランキング : 647

Amazonで詳しく見る
by G-Tools

これはどちらかというとビジネス書の分類に入る本ですが、エンジニアの人は知っておくべきことが書いてある本です。
IT業界は早いサイクルで技術革新が進んできた業界ですが、同じ企業が何度もイノベーションを起こすことはまれです。
それは、企業は顧客のために最適な製品やサービスを提供しようとするためイノベーションの芽に気がつかないことが多いのです。
例えば、最初AppleがPCを発売したとき、メインフレームやミニコンを作っているメーカーのほとんどは無視しました。
Appleが発売したApple IIは8bitコンピュータでメモリーも少なくおもちゃのような製品だったからです。
しかし、自分のコンピュータがほしい人たちがたくさんいたことを大手メーカーはわかっていませんでした。
その上、大手メーカーは既存顧客の要望を第一に考えるためリソースをそのために注ぐことになります。
このようにイノベーションは新しいマーケットを作り出すため、企業が入れ替わるのはほぼ必然なのでしょう。
この変化の激しい業界でやっていくためにはこのことを肝に命じておく必要がありますね。


キャズム

キャズムキャズム
ジェフリー・ムーア 川又 政治

翔泳社 2002-01-23
売り上げランキング : 5220

Amazonで詳しく見る
by G-Tools

こちらもビジネス書になりますが、私がマーケティングをはじめて意識した本です。
タイトルのキャズムとは隙間という意味なのですが、技術が世間一般に普及するためにはあるパターンがあります。
新しい技術が出てきたとき、まずは技術オタク系など新しもの好きのユーザーが最初に使い始めます。
その次に先進的な一般ユーザーや企業が使い始めて、それから普通の人たちが使い始めます。
最近はやりのスマートフォンSNSなどはそんな技術ですね。
この先進的な一般ユーザーから普通のユーザーに普及する間にキャズムと呼ばれる壁があります。
このキャズムを越えられないとその技術は廃れていきます。
IBMが昔売っていたOS/2やDECが開発したAlpha CPU、ApplePDA Newtonなどがキャズムを越えられなかった製品ですね。
これらの製品は技術的には優れていましたが、顧客のニーズをちゃんと考えていなかったり、普及させるための戦略が甘かったたりしたのだと思います。
やはりうエンジニアとして仕事をするなら、このキャズムを越えられるような技術や製品を作りたいものですよね。


今年も暑い夏になりそうですが、涼みながらエンジニア力を上げるのもいいのではないでしょう。