Macintosh には、DOSやWindows、UNIXなどにはない独自の概念として「リソース」という物がある。
Macのファイルシステムはフォークと言う概念を実装しており、フォークにはリソースフォークとデータフォークの2つが1対になって1ファイルを構成している。
リソースフォークにはリソースIDに対応した型の値が保存されており、データフォークにはデータの実体が保存されている。このリソースフォークを覗くとMacの中身が見えてくる。
リソースフォークを編集するソフトとして「ResEdit」というAppleから提供された開発ツールが存在する。開発ツールと言ってもリソースを編集するだけなので、それほど高度なことはできないが、それでもMacで提供されるデータ構造をすべて編集できる昔ながらのツールである。
ResEditを起動するとMacから変なピエロが飛び出してくる気味の悪いアニメーションが表示される。これは昔から気持ち悪いなぁと思っていた。
アプリケーションの実行ファイルにもリソースが存在し、ウィンドウや文字列、メニューの文字などが格納されており、ResEditさえあれば英語版のアプリケーションの外見を日本語化することもできる。さらにリソースの中にはCODEという区分でプログラム本体も格納されており閲覧することができる。
通常のResEditではこのCODE領域はバイナリーコードでした表示できないが、Super ResEdit ではCODEの内容を逆アセンブルして表示する機能があり、プログラム本体の中身を見ることができる。
かなり以前に漢字Talk7.5.3 が現役だった頃、仕事で海外で開発されたMacのソフトウェアの動作検証を行っていたのだが、検証結果としてバグを報告すると日本側の開発者が修正をして戻してくれていた。当時ソースコードもないのにどうやって修正したのかが不思議だったのだが、Macのアプリはアセンブラで開発するのが普通だったことを考えると、ResEditで逆アセンブルしたコードを編集してアプリケーションを修正することも可能だったというのを、30年もたった今、わかったような気がする。
やはり、ロスト・テクノロジーズ・サルベージ事業は非常に有意義だ。当時、若くて疑問に思ったことを解決できないまま30年もの時間が過ぎてしまったのだが、今一度掘り下げて調べ直すことで当時の疑問が晴れた。その疑問が晴れたから、何になるかと言われると何も役に立たないのだが、こういうコンピューターの設計思想というのはクラウドであれAIであれ通ずる物があると思う。そういった意味でも歴史を知るというのは有益かもしれない。