組込みソフトウエアへの需要が高まっている昨今
<br />いきなり”Printf(・・・)”と書いて
<br />「動かないんですけど・・・」というエンジニア初心者を
<br />見かける。
<br />そんな人たちにまず最初に読んでほしい本です。
<br />ブール代数、メモリ、I/O、CPU、アーキテクチャ
<br />基本でいて結構忘れかけているもの、さらに新しい
<br />CPUアーキテクチャについても触れられていて充実の内容です。
二進表現での数値評価からIEEE754浮動小数点演算と取り扱い、ブール代数や80x86プロセッサファミリを例にとったアセンブラとレジスタの効率的な使い方などなど、それを日常的に使う業務プログラマにとっては基礎中の基礎が各章に収められている。これを手に取ったある知人のSEは言った。『基礎をここまできちんと突っ込める人は尊敬に値する』と。
<br />
<br /> この本の真実強力なところは、それら基礎的な知識が体系付けられ、総覧として一冊の本に纏まっているということだ。KnuthのThe Art of Computer Programmingの模範的な補足とすら言い得る。
<br /> 高級言語の強みは環境の実装の詳細に拘らないことにあるのは勿論だが、細部に神が宿ることもまた真実であり、言語規格による設計思想の『矯正』だけで現実が解決しないことを理解している人になら、このシリーズの目指すところもまた、強い共感をもって受け入れられるに違いない。
<br />
<br />惜しむらくは10年前に読みたかった(苦笑)。
<br />早く続編の邦訳が待たれる一冊だと、皆さんに勧めて歩きたい。
まさにタイトル通り、素晴らしいプログラム(Great Code)を書くために知っておくべきハードウェアの基礎知識を一冊に濃縮した本。
<br />コンピュータの基礎から説き起こして、ハードウェアの力を使い切るには何に注意しなければいけないのか、丁寧に説明した良書だと思います。(翻訳も良い出来だと思います。)
<br />「速いプログラムを書きたい」という実用志向の読者だけではなく、「コンピュータの仕組みを知りたい」という知的好奇心に溢れる読者や、「学校でハードウェアを学んだけれど、ソフト開発に役立つとは思えない」というソフト開発者の方にも薦めできます。
<br />あえて一点だけ注意すると、コンピュータの仕組みについてごく簡単な基礎知識がないと、本書を読むのはちょっと大変かもしれません。(例えば、レジスタという単語を聞いたことが無い、という方だと読み抜くのは難しいと思います。)その場合は何か適当な入門書で勉強してから、是非本書を読んでいただきたい。それだけの価値がある本だと思います。