Entry

BINARY HACKS を買った

2007年03月14日

読もう読もうと思っていて買っていなかった『BINARY HACKS』を買いました。まだ1回素読しただけなんですけれど,これは面白い。詳しい話は今後に譲って,ここでは概略の感想をば。

Binary Hacks ―ハッカー秘伝のテクニック100選
高林 哲 鵜飼 文敏 佐藤 祐介 浜地 慎一郎 首藤 一幸
オライリー・ジャパン (2006/11/14)
売り上げランキング: 676
おすすめ度の平均: 5.0
5 大工さんにおける電動工具の紹介本
5 当然教科書ではない。でも、とても参考になります。
5 バイナリアンの基本

コンピュータをはじめとした技術の話を考える上で,避けて通れない概念に,隠蔽と簡素化それに抽象化ってのがあるんだと思います。隠蔽というのは,難しげなものを見えなくすることで,簡素化というのは,目的を絞って不要な機能や役割を削ぎ落すこと。で,最後の抽象化というのは,同種の問題に対処できるように上位概念を設定することです。具体的には「決め打ち」みたいなことをしないということです。

言うまでもなく,コンピュータのプログラミング言語は,ハードウェアを離れてガンガン抽象化されています。Java や各種の LL(Lightweight Language)なんかで,プロセッサやメモリの挙動を考えることは,まずありませんもんね。もちろん,それが,Java や LL の魅力なわけで,だからどうだってことはないんですが。

一方で,こういう話は,プログラミングに限ったことではないようです。例えば,オーディオ・アンプを作ろうと思ったときに,専用 IC で作るか,OpAmp IC で作るか,はたまたディスクリート(トランジスタとか FET)を寄せ集めて作るか,といった話があったりします。で,例えば,ディスクリートで作ると,難しげな計算や熱対策をしなくちゃいけないのに対して,専用 IC だと電源と信号を入れるだけで簡単に鳴っちゃったりするんです。じゃあ,専用 IC を使えばいいじゃないか,という話にもなるわけですけれど,ディスクリートには「小回りが利く」という利点があったりします。

また,専用 IC や OpAmp を使う場合であっても,ディスクリートのことを知っている人とそうでない人とでは,回路設計がまるで違うんだとか……(もちろん,前者の設計の方が効率良く良い音を出すということ)。結局,実際にディスクリートで作らないとしても,ディスクリートの知識は必要なんですね。

本書では,プロセッサやメモリ,それに OS が提供する API 等々をいぢくり回します。こういうのは,上の例で言うとディスクリートの寄せ集めに相当するわけで,組み込みやドライバ開発でもやらない限りお目にかかることはないだと思います。けれど,本書で紹介している hack は,業務であれ趣味であれ,コンピュータとコアに付き合っていくための基礎体力として必要なことなんじゃないかな,とは思います。

ちなみに,本書の後には読む本を決めていて,『Write Greate Code』を読もうと思っています。

Write Great Code〈Vol.1〉ハードウェアを知り、ソフトウェアを書く
Randall Hyde 鵜飼 文敏 まつもと ゆきひろ 後藤 正徳 トップスタジオ
毎日コミュニケーションズ (2005/12)
売り上げランキング: 78273
おすすめ度の平均: 4.0
4 基本を知ることが大事です。
4 内容的には基礎中の基礎。総覧であることが素晴らしい。
4 コンピュータの力を使い切るための第一歩

この2冊で半年はオカズに困らなそうだなー。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Plugin TEST (Amazon)
The Geek Atlas: 128 Places Where Science and Technology Come Alive
John Graham-Cumming著
Oreilly & Associates Inc2009-06
実践 デバッグ技法 ―GDB、DDD、Eclipseによるデバッギング
Norman Matloff著
Peter Salzman著
相川 愛三翻訳
オライリージャパン2009-06-08
コンパイラ―原理・技法・ツール (Information & Computing)
A.V. エイホ著
R. セシィ著
J.D. ウルマン著
M.S. ラム著
Alfred V. Aho原著
Jeffery D. Ullman原著
Ravi Sethi原著
Monica S. Lam原著
原田 賢一翻訳
サイエンス社2009-06
Working Effectively With Legacy Code
Michael Feathers著
Prentice Hall PTR2004-10-02
Windowsデバッグの極意 ツールを使いこなして、バグハント!
Mario Hewardt著
Daniel Pravat著
長尾 高弘翻訳
アスキー・メディアワークス2009-04-28
Plugin TEST (del.icio.us)
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!

© 2003-2009 AIAN