あるプログラマとMac OS Xとスティーブ・ジョブズ | HMDT Blog

あるプログラマとMac OS Xとスティーブ・ジョブズ


ジョブズに思いを馳せていると、彼が自分にどう影響を与えたか、ということに返ってくる。という訳で、めずらしく個人的な話ですが、私のプログラマ遍歴を。

最初に触ったパソコンは、小学生のときのPC-8001でした。ベーマガを見ながら、N-BASICのゲームプログラムを打ち込むという、少年時代を過ごしておりました。その後、PC-8801、PC-8801mkIIFAと順調にステップアップしました。

そして大学生になったある日、がんばってお金を貯めたので新しいPCを買おう、最近よく聞くDOS/Vとかいうのにしてみるかね、というときに出会ったのがMacintosh Color Classicでした。衝撃でした。一目惚れでした。いままでMacのMの字も知らなかったのに、買っちゃいました。そこからApple三昧の日々が始まります。

ワープロ系、ペイント系、ドロー系、DTM系、と一通りのアプリケーションを触った後、むくむくとプログラミング熱が起こってきました。この辺はパソコン少年の名残でしょうか。昔はアプリは使うものではなくて、作るものだったんでね。Macのアプリを作りたい!

HyperCardはいまひとつ性にあいませんでした。おれはスタックじゃなくて、アプリを作りたいんだよ。そこで目をつけたのがCode Warrior。その硬派な名前とパッケージに痺れました。アカデミックプライスがあったのも、学生の身としては嬉しかった。購入して、インストールして、マニュアルに載ってたサンプルプログラムを1行ずつ打ち込みました。終わった!よし実行!すると、ウインドウが表示されました。やった!でも、ドラッグしても動かない!つーか、メニューが変。Appleメニューが2つ表示されている?!つーか、フリーズしてるよ、これ!

昔のMacプログラミングって、ウインドウのドラッグやリサイズも全部自分でコード書かないといけなかったんですよね。そもそも、イベントループも自分で回すし。優美にエレガントに動いているように見えるMac OSも、その裏ではすさまじいベタな努力が積み重なっているのを実感しました。リンゴの魔法が解けた日でした。その日から、私の興味は、一気にシステムの内側に向かっていきます。

始めのMacプログラミングは、うまく進みませんでした。Inside Macintoshやプログラミング本とくびっぴきになりながらコードを打っても、ぜんぜん思い通りに動いてくれない。分かんない、とにかく分かんない。暗中模索、五里霧中、そんな四字熟語がぴったりの状態でした。いまなら理由が分かります。情報系の知識が圧倒的に不足していた事もあるけど、システムがモダンではなかった。Mac OSは、モダンではなかったです。開発者にとんでもない労力を強いるものでした。今思うと、このときもがきまくった苦労は無駄ではなかったです。でも、生産性という視点で考えると、無駄そのものでした。さらにPower Plantとかも登場して、私の混迷はさらに深まります。

鬱々とした状態が続く中、飛び込んできたニュースはスティーブ・ジョブズの復帰とMac OS Xの登場でした。テン?また新しいもの覚えないといけないの?と疑心暗鬼でしたが、とにかく技術仕様書をダウンロードして読みました。衝撃でした。最初にMacと出会ったときから数えて二度目の衝撃でした。Project BuilderとInterface Builderの関係に痺れました。App KitのAPIの美しさにメロメロでした。このとき、ちょうど私は最初の会社に入社したときだったんですが、新人研修中に研修なんか無視して、Mac OS Xの仕様書を読みふけっていました。

それからは、Mac OS Xプログラミング、というかCocoaプログラミングの日々でした。とにかく楽しい。これがその当時の気持ちです。プログラミングの楽しさは、プログラミングそのものにあるのです。美しいフレームワークを触り、その背後にある設計者の思想を読み取り理解する。プログラミングを通して、ユーザと設計者と対話をするのです。

ここまで惚れ込むと、そのさらに後ろにあるジョブズの影も見えてきます。もちろん、ジョブズがCocoaを作った訳ではないです。でも、App KitとFoundationの開発にゴーサインを出し、その価値を認め採用を決定したのは、まぎれもなくジョブズでしょう。ジョブズがCocoaなどのソフトウェア技術にどこまで知見があったのかは私は知りませんが、その本質を見抜く、技術に対する勘があったのだと信じたい。Cocoaには、iMacやiPhoneやiPadと同じ、Apple的美しさがあります。

だから言いたいのです。ジョブズ、ありがとう。他のたくさんのプロダクトともに、Mac OS XとCocoaを作ってくれてありがとう。私はこれを使って、ソフトウェアを作り続けます。

最後に余計な一言。あのとき、Beにならなくて本当によかった。

  1. はじめまして。
    Code Warrior懐かしいですねwアカデミック版が買えなくて辛かったですがビルド完了の音が好きでしたwほんとOSX以前はToolboxAPIで、フローティングウィンドウ出すのも一苦労だったり、ちらつき防止にGWorldに描きだして~なんてあったりと大変だった記憶があります^^;
    知識0から初めてのパソコン+プログラミングだったのでヘッダファイルとにらめっこしてひとつずつAPIの挙動を確認してた頃が懐かしく感じますw

    OSXになってからはオブジェクト指向ナニそれわかんない状態でしたが、解った時にはこんなスマートなやり方があるものなのかと惚れ惚れしました。ほんとOSXとCocoaを作ってくれたジョブズに感謝です。
    そして個人的には、Happy Macintosh Developing Time!でCocoaが色んなデザインパターンの集合体のようなものだという事を一から少しずつ理解するのにすごく役立たせて頂きました。mkinoさんにも感謝です。

  1. トラックバックはまだありません。