Apple、MacPaintとQuickDrawのソースコードを博物館に寄贈

Apple、MacPaintとQuickDrawのソースコードを博物館に寄贈

人を夢中にさせるソフトウェアはそう多くありません。QuickDrawとMacPaintは間違いなくその筆頭でしょう。ビル・アトキンソンが開発したQuickDrawは、Macを使う際の視覚効果を決定づけました。一方、MacPaintは、パーソナルコンピュータで画像を作成できる最初の主流プログラムでした。

QuickDrawとMacPaintはどちらも、Macの前身であるLisa向けにアトキンソンによって開発されました。しかし、Macで実現しました。

QuickDrawは、Appleの開発者やサードパーティのソフトウェア企業に、画面上の情報の表示と更新を高度に最適化された方法で提供するグラフィックプリミティブとウィンドウ処理ルーチンのセットです。つまり、同じ手法を何度も開発する必要はなく、開発者は可能な限り高速に動作するように設計された、常に改良が続けられる一連のルーチンを活用できました。(グラフィックプリミティブには、正方形、円、多角形の作成や、線で囲まれた領域のシェーディングなどが含まれます。)

これは、当時そしてその後何年も続くほとんどのグラフィカルシステムとは対照的でした。数年後、Windows 1.0を使った時のことを覚えています。当時は、Microsoftは自社のソフトウェア製品ライン全体で一貫性を保っていたにもかかわらず、ソフトウェアごとにユーザーとのインタラクション方法を独自に考案しているようでした。

アトキンソン氏は、クリッピングを数桁高速化する方法を発見しました。クリッピングは、重なり合ったウィンドウを描画する際に発生します。アトキンソン氏は、2004年にコンピュータ歴史博物館で行われた口頭インタビュー(彼とヘルツフェルドの両名による)で、自身の技術の一部について説明しています。

クリッピングを高速化することで、任意のウィンドウをドラッグして画面上に多数のウィンドウを表示しても、オペレーティングシステムの動作が遅くなることはありませんでした。ヘルツフェルドは、開発者向けにQuickDrawをMac OSに接続する「グルー」(文字通りQuickGlue)を開発しました。

MacPaintの重要性も見逃せません。MacPaintは、一般ユーザー向けに初めて提供された高性能なデジタル描画プログラムであり、本格的な作品制作にも活用できました。アトキンソンはQuickDrawのコンポーネントを活用し、それらを拡張することで、描画のための豊富なメタファーとアプローチを開発しました。これらは、今日のソフトウェアにおける主要なパラダイムを形作っています。

下の画像では、LisaSketchのツールバーが一番左にあり、MacPaintのツールバーはそのすぐ右にあります。その右隣の2つのツールバーは、最新バージョンのGraphicConverter (6.7)とAdobe Photoshop (CS5)のものです。
画像

MacPaintは、Macに付属していた数少ないプログラムの一つでした。多くの人にとって、 MacといえばMacでした。こんなものは見たこともなかったのです。マウスでクリック&ドラッグして形を描ける!しかも、マウスを使った経験のある人はほとんどいませんでした。MacPaintは、ハードウェアを通してハンドジェスチャーを操作できるという強力な機能をユーザーに教えてくれたのです。

MacPaintはMac Pascalと68000アセンブリ言語(約60%がPascal)で記述されています。QuickDrawは100%アセンブラです。アセンブリ言語は機械語の1段階上のものです。機械語は、CPUがコマンドに使用する数値で直接表現されたプログラムコードです。今日では、プログラマーは最適化のためにこの層まで到達することがあります。アセンブラは、その上の軽く抽象化された層であり、機械語のシーケンスに変換されるシンボルや演算を使用できます。

ハーツフェルド氏はFolklore.orgで、Appleでの体験を綴った一連の記事を執筆しました。私はこのサイトを書籍化したものを「Continuous Revolution」(2005年1月24日号)でレビューしました。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.