「AppleScript Studioノウハウ秘伝書CD」に収めるべく、AppleScript Studioの書籍について書評を書いていた。ひととおり揃えて実際に実務で役に立つか検証したものなので、信頼性は高いはずだ。
AppleScript Studio本は、割と「ダメな本」と「使える本」の差が激しいジャンルである。ハズレの本だと分ったときの落胆はすさまじい。「それは、君が自分で勉強してレベルを上げていったから言えることなのでは?」という指摘はあるかもしれないが……ダメ本は、何も知らずに読んだらなおさら目が回るという図式になっている。
ダメ本が生まれるやむを得ない理由もいくつかある。最大の理由は、Mac OS X環境が1年ごとにコロコロとバージョンアップして、AppleScript Studioについては最初のうちはバグだらけで、使い物にならなかったことにある。今でこそいろんなものを作ろうかという気になる環境だが、最初の頃はお話にならなかった(自分がまともにMac OS Xを使い始めたのはMac OS X 10.2からだ)。
世間一般のユーザーや、コマンドラインから使っていれば満足できるUNIX系のユーザーと異なり、AppleScript系のユーザーにとってMac OS Xは悪夢のような環境だった。Appleも外見は先に作るが、内部機能というかスクリプト関連の機能の作り込みは後回しにしてきた。このため、トンでもないバグを含んだままOSがリリースされたりで目が点になった。
さらに、コアOSチーム(UNIX系)とAppleScriptチーム(従来の生え抜きApple系技術者)の間の組織的な不協和音がこれに拍車をかける。AppleScriptチームに文句を言うと、「Core OSチームが言うことを聞いてくれないんだ」と愚痴られる始末である。
AppleScript書きからすると、Mac OS Xは冗談のレベルの10.0、お話にならなかった10.1、見た目とスピードだけ改善された10.2、ようやく使える10.3という、そうそうたるラインナップに見える。いまだ(Mac OS X 10.3.4)にスクリプトエディタのエラー箇所が正しくハイライトされなかったり、分かち書きをする時に使う継続記号(┐)が入っていると構文確認をハネられたりする。
あまりのひどさに「よくこれで使えるな」という状態では、開発ツールの使い方を真剣にマスターしようというモチベーションも維持しにくい。今ですらこうなのだから、昔がひどい状態だったことは想像にかたくないだろう。
そのような未開の時代に書かれた本は、「他を制して先に出版した」という(当時としての)市場価値はあったのだろう。だが、内容については当然のことながらカスカスだ。読んでいて筆者がまともに使いこなせていないことが分ってしまうのである。そりゃそうだ、その時代にはまだ使い物にならなかったんだからなぁ、と深く納得する。
Project Builder/Interface Builderを使える人が、「これなら自分にもAppleScript Studioの本が書けるに違いない」と勘違いして書いてしまったパターンもいくつかある。こちらも、もう目を覆わんばかりの悲惨な本になる。読んでいてつまらないので眠くなるのである。
まだ勉強したての頃、AppleScript Studioの本を読んでいると眠くなるので、自分は眠り病にでもかかったんじゃないかと真剣に悩んだ時期があった。今ならいえる。「眠くなるような内容の本ばかりだったからだ」と。間違いない。
あと、AppleScriptをまともに理解していない(仕事などで使ったことがない)筆者が書いた本は、読んでいて腹立たしい。「ちょっと待て、それは君が理解していないだけなんじゃないのか?」というツッコミには事欠かなかった。
いい本にはなかなかめぐり会えなかった。よくて2・3冊程度だと思っている。しかし、その「いい本」ですら、それだけでは足りないことが多すぎた。対象となるテーマが大きすぎるのだろうか。
「AppleScript Studioでアプリケーションを作る」ということになっても、AppleScript Studioはそのための「手段」であり、ツールでしかない。一通りASSでアプリケーションを作る段になって、そういう「アプリケーション」制作作法というかノウハウについて書かれたものが皆無であり、情報集めに苦労させられた。
昔からMacを使っていて、Objective-Cを書ける開発者の人がいみじくも語った「そういうのって常識じゃないの?」。
違う。断じて違う(汗)。
スプラッシュスクリーンの作り方、インストーラの作り方、新バージョンの検出方法、インターネットごしに最新版に更新できるヘルプの作り方……みんな「アプリケーション」を構成する技術としては「常識」なのかもしれないが、どの本にも載っていなかったことだ(インターネット経由で自動更新できるヘルプ、についてはいまだに皆目わからない)。
だいたい、「アプリケーション」という環境が起動時や終了時に実行するイベントハンドラなど「なぜ、このようなものがあるのか」と、わからないことだらけだった。枝葉末節の機能の説明ではなく、それぞれのパーツのもつ必然性といったものが解説されている本を見かけたことがない。
本というのはその程度のものだ、という割り切りはあるかもしれない。1冊の本にすべてを求めるのは間違いであり、何冊も読み込んではじめてすべてを理解できるものなのだ、と。
自分が欲しかった本、読みたいと思う本……そういうものを書くべきなのだろう。