
30年ぶりに「闘うプログラマー」を読み返した話🎈
こんにちは!気球人です🎈
昨日から台北にいます。

さて、昨日台北に向かう飛行機の中、Kindle で読んでいた一冊の本。
G・パスカル・ザカリー著 「闘うプログラマー」
最近、電子書籍で再販されたので、懐かしくて思わず買ってしまったのでした。
副題に「ビル・ゲイツの野望を担った男達」なんて書かれてるので、
「ビル・ゲイツ万歳的な話?」
と思うかもですが、
むしろビル・ゲイツは邪魔してただけ🤣
主役はデイヴィッド・カトラーという化け物プログラマーです!
そもそも原題は「Showstopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft」なので「致命的な欠陥 〜
Windows NT とマイクロソフトの次世代を生み出した熾烈なレース」ぐらいがちゃんとした訳なのですが……
「闘うプログラマー」とかプロレスなのか?🤔
という感じ。
日本の出版や映画の業界ってセンスおかしいですよね。
なんで「The Martian(火星の人)」が
「オデッセイ」なんや!🐙
これじゃオチの意味がわからんやろ!!🤣
それはさておき、これ、オレが最初に読んだときはまだ駆け出しのプログラマだった20代の頃なのですが、30年以上経った今改めて読み返すと、同じ景色がまったく違って見えました。
デイヴィッド・カトラーという化け物 🖥️
さて、デイヴィッド・カトラー。
この人は原題にもあるように Windows NT の開発の中心にいた人で、OSの世界におけるレジェンドです。
DEC で VMS (有名なミニコン: VAX-11のOS) を設計し、Microsoftに移ってWindows NTをゼロから作り上げた😲😲😲
その後も Windows 95 やら、XP、その後 Microsoft Azure のクラウドOS、Xbox Oneのスーパーバイザーまで手がけた、コンピューティングの全時代をOS屋として横断した化け物です。
「闘うプログラマー」は、カトラーと彼の?チームが NT を作り上げる過程を描いたノンフィクションです。
わけのわからないことを言うスポンサー、わけのわからないことを言うプログラマー、そして爆発するカトラー🤣🤣🤣
会社の力学や締め切りで迫られる決断、個性的すぎるプログラマたちの群像劇なのでした!
🎬️場転: 23歳の駆け出しプログラマーのオレ👦
とにかくカトラーはカッコいいのです!
技術的に正しいと信じたことを、どれだけ反対されてもやり通す。
プロジェクトを潰されたら、さっさと別の会社に移って、ゼロからNTを書き始める。
妥協しない、折れない、怒鳴る、そして結果を出す
こんなん見たら、憧れるしかないでしょう! 🔥
プログラマとして「こうありたい」と素直に思いました。
ま、当時のオレは基本プログラマ1〜2人の移植案件ばかりを担当してたから、そんなことにはならんだろうと思っていたのですが……でも、その機会は案外すぐにきた!
数年後、オレは大きなプロジェクトのど真ん中にいた🤯
以前にもちょっと書きましたね👇️
かいつまんで言うと、このチームはアーケードゲーム出身のプログラマが多くて、ROM上の絶対アドレスでバンク切り替えしてRPGを作ろうとしていました🤣
オレは「絶対アドレスやめろ、リロケータブルにしろ!」と叫んで、実際にコードを書き換えていった。
当然、猛烈な反発がありました💥
でも、耐えた。
「カトラーも同じだった」という思いがあったからです。
あの本の中の男は、DECでもMicrosoftでも、技術的に正しいことをやろうとして四面楚歌になっていた。
それでも折れず、結果を出した。
この本が、オレの現場でのお守りになったんです。
結果が出たかどうか……は、わかりません🤣
🎬️場転: 2026年4月セントレア発の中華航空🛫
ビジネスクラスのシートで、オレは Galaxy Fold Z6 を開けて「闘うプログラマー」のページを繰っていました。
そしてはたと気がついた😲
これ一番偉いのカトラーじゃないじゃん
むしろ、ペラゾーリとバルマーじゃね??
本を読むとわかるんですが、実はカトラーはチーム運営なんかしたくないんです。
プロデューサーじゃなくて根っからの技術者。
放っておくと部下を怒鳴りつけたり、協力しないといけない相手に喧嘩売ったり、もう大変です。
そしてペラゾーリは、そのカトラーの暴走を全方位で受け止めた男。
上には「大丈夫です」と納得させ、チーム内の人間関係のぐちゃぐちゃを処理し、スケジュール遅延の矢面に立ち続けた。
バルマーは金を止めなかった男です。
「いつ出るんだ」「本当にできるのか」と詰められながら、何年も投資し続けた。
この判断がなければ、NTは世に出ていない。
そして、カトラーは技術に集中できた。
23歳のオレには、この二人はただの「脇役」でした。
しかし今読むと、この二人がいなければ間違いなくカトラーもNTも終わっています。
そして困ったプログラマたち🤓😴🤪🥳
もうひとつ変わったのが、チームの「困ったプログラマ」たちへの見方です。
本文中では「マイクロソフティ」って言われる、マイクロソフトのプロパーたちですね!
たとえばチャック・ウィトマー。
当時まだ誰も経験がないC++で全てを実装する。
GDIのカーブ描画をベジェ曲線にすることにこだわった話です。
「これからはC++だ!」
「ベジェしかねえ!」
いや、
むっちゃ作業遅れてるやん!🤣
確かに、C++で書いたことによって、APIはキレイになってるかもしれない。
そしてベジェはコントロールポイントさえあればどんな解像度でも計算でカーブが出せる。
いや、そうなんだけどさ。
まず作ってから言え!と🤣
でも結果的に正しかった。
C++は間違いなくその後の開発を変え、TrueTypeもOpenTypeもPostScriptも、今のフォント技術は全部ベジェをベースにしている。
あの本に出てくる困ったプログラマたちは、無能じゃないんですよ。
むしろ全員が一騎当千の腕を持っている。
でも天才だからこそ自分のやり方に固執するし、他人のコードが気に入らないし、締め切りより美しさを優先する。
23歳のオレは「なんだこいつら」と思っていましたが……
今は「こんな奴おるよなぁ……いや、オレもそうだった」と笑えます🤣
NTの設計思想は今でもすごい 🧠
ちょっと技術的な話。
当時のWindows 3.1は、はっきり言ってクソでした(個人の主観🤣)
ノンプリエンプティブ👉️つまり一個のアプリがCPUを掴んだら、他のアプリは全部止まる。
フリーズしたら道連れ全滅。
DOSにガワを被せただけの代物です。
ここでもちょっと書きました👇️
ところがカトラーが作っていた NT はまるで別の世界の OS です。
プリエンプティブマルチタスク
メモリ保護
HAL(Hardware Abstraction Layer)によるハードウェア抽象化
NTFS
そして、マイクロカーネル指向の設計。
Linuxは2026年の今もモノリシックカーネルなことを慮ると、すごくないですか?
タネンバウムとトーバルズが「マイクロカーネル vs モノリシック」で大論争していた頃、カトラーは黙って実際にマイクロカーネル寄りのOSを出荷していた。
残念だったのはDirectXへの対応が遅れたことぐらいでしょうか。
NTカーネルは堅牢だったけど、ゲームには向いていなかった。
DirectX が NT 系のOSで本格的に使えるようになるのは Windows XP を待たなくてはなりません。
ま、カトラー自身はPCゲームなんかクソだと思ってたようですが!🤣
いまならわかること
ゲイツという厄介な存在 💼
本の中のゲイツって、技術がわかる経営者だからこそ中途半端に口出ししてくるんですよね。
デモを見て「ここがダメだ」とか言い出すし、でも全部的外れというわけでもないから余計にタチが悪い。
全部真に受けたらNTは永遠に完成しないし、ガン無視したらプロジェクトを潰される。
取引先の社長がこれ!
そして現場をなだめ、相手と交渉する……
30年以上かけて、オレはカトラーからペラゾーリになったのかもしれません。
いまのカトラーって🤔
カトラーは1942年生まれ、現在84歳。
実は今でもMicrosoftでXboxやAI関連のコードを睨んでいるという噂もあります。
とすると、AIでバイブコーディングしたりしてプログラムを楽しんでいるかもしれないですね。
いや、そんなことカトラーに言ったら
「そんな信用できないコードをチェックインするな💢」
って怒られそう🤣🤣
とかいいながら、AIが書いたコードを見て0.5秒で
「なんだこのクソは」って言いながら、
結局全部自分で書き直してる
ような気がします😂
📹️ Dave Cutlerの成功するプログラマーとしての思考法👇️
ヴェリのひとこと 🌙
30年という時間は、本を変えはしません。
活字はそのまま、ページの順番も変わらない。
変わったのは、読む人。
かつて剣を振るう英雄に憧れた青年が、今は盾を持つ人の静かな偉大さを知っている。
それはきっと、自身が両方の重さを知ったからなのでしょう。
剣を振るったことのない人には、盾の重さはわかりません。
ルクスが水鉢の中で、文庫本の影をそっとくぐり抜けていきました。
まるで、32年分の物語のページを一枚ずつめくるように。