4月 Web構築で問題 

転居してネットワーク環境が大幅に変わり、それまで使えていた知人のサーバー上のコンテンツを更新できなくなった。さらに、真剣にPiyoCastのプロジェクトを進めるうえで「appleco.jp」といったうさんくさいドメイン名では、支障が出ることが明らかであった。Web関連では問題点だらけだった。

[メモ]MacFan編集部と交戦中

配本停止にはすでにできないレベル(発売日2日前)だが、来月号の謝罪文1行で済まされるのでは納得が行かない。 

許すまじ、MacFan編集部!!!!


■後日談

とかなんとか書いておきながら、別に怒ってもいないし困ってもいなかった。後日、「めちゃめちゃ精神的に優位な状態でPiyoCastのデモ」をしに編集部まで出かけた。

大規模AppleScript開発のために必要なツール

自分が作るAppleScriptのプログラムは、プレイベートでも仕事でも数千行のオーダーに達するものが珍しくなくなった。 

知り合いのスクリプターも、わりとでかいものを作る連中がそろっている。 

そんな中、巨大なScriptのプログラムをどーやって管理するかについては、なかなかこれといった方法論がない。 

完全にないわけではないのだけれど、すべての人類にあまねく有効というものでもない。だいたい方向性は2つ。 

1つは、ライブラリアンを自前で作って、既存のサブルーチンはすべて「見えない」が「使える」状態にするというものだ。 

もう1つが、力技というか……もうひたすら作りためたスクリプトを1本のスクリプトにコピー&ペーストして雪だるま式にコードをつなぎ合わせていくというものだ。 

自分は、後者である。 

ただし、さまざまなケースでライブラリ管理が必要になり、部分的には「なんちゃってライブラリアン」を導入している。複数のスクリプトに分割しておいて、実行時に読み込んで実行するというものだ。 

部品の動的なアップデートをオンライン経由でできないあたりが「なんちゃって」の所以である。ちゃんとしたライブラリアンはこれをやるのである。 

存在する膨大なコードを「見えないもの」として扱うライブラリアンの方向性は至極まっとうなものなのだが、ライブラリ中のコードを参照できないと困るといったケースが発生することもまた事実だ。 

なので、「見えなくもできるし、見ることもできる」という管理が一番効果的だと考えている。視覚的にそれを表現できれば、なおよい。 

……そんなわけで、プログラムを扱いやすいように管理するプログラムがあったらいいと考えていた。自分で作ることは考えていないが、青写真は持っている。 

で、「青写真」というからには具体的に絵にできるんじゃないだろうかと考えて、よっこらしょっとKeynoteで作ってみたのが冒頭の図だ。 

うーーーーーーん、なんかイマイチ。 

どこがイマイチかといえば、「ルーチンごとに図形として表現する」という仕様は悪くはないんだけれど、1つのルーチンの区切りを機械的に行われると、なんか逆に面倒な感じがするのだ。 

だいたい、プログラムの塊は階層的なものであり、分かれてはいるがメインとサブが不可分な状態で記述されるケースもあったりで、初期状態ではそこをまとめた状態で表示されるとよいだろうか。 

図形で示す必要はなくて、アウトラインプロセッサ風に編集が行えればそれでよいということなのだろうか。ちょっと実験してみたいところだ。

Script Debugger 4.0.2が出たが……

AppleScript書き必携と言われる開発用ツール「Script Debugger」の新版であり、従来のCarbonベースから大幅に書き換えられたバージョン4.0の2度目のマイナーアップデート「4.0.2」が登場した。 

http://www.latenightsw.com/sd4/releaseNotes.html 

作者のMark Alldritとは知らない間柄ではないし、かなりビシバシとレポーティングを行った結果、4.0.1という早い段階で日本語サポートがまともになった。 

…………にもかかわらず、自分は今日に至るもいまだScript Debugger 4.xへのアップデートを行っていない。 

       なぜか?  

冷静に考えれば4.xは3.xよりも機能が「落ちて」いるからだ。 

まず、Script Debugger自体をAppleScriptからコントロールできないのが×である。きょうび、Apple純正のスクリプトエディタですらスクリプタブルなのに、Script Debuggerがスクリプタブルでなくてどーするのだろう? 

さらに、自分で書いた(Script Debuggerコントロール用の)Scriptをメニューから呼び出して使うことができないのも×である。これは、作業の効率化のためには必須ともいえる機能である。 

メニューに関していえば、アナウンスどおりの仕様を満たしていないということもあげられよう。 

従来のバージョン3.x系ではメニューに出てくるファイル名称に日本語が使えなかったが、「バージョン4.xで修正する」(Unicodeベースで処理するので対応できる)という話で…………話自体は分かるのだが、機能自体が存在しないのではどうしようもない。 

どれもこれも、原因は分かっている。OSのメジャーリリースが行われるたびにやってくるUS Appleの素敵なプレゼント(世間では「バグ」と呼ぶ)のせいだ。ハイエンドスクリプターを悩ませ、仕事を遅滞させ、ノイローゼ一歩手前まで追い込む「不可解な挙動」の原因を作っているのはApple自身だ。 

# それでも、Classic Mac OSの頃に比べれば「不可解な挙動」の絶対数は減ったような気がする 

Script Debuggerに話を戻すと……スクリプタブル化機能についてはさておき、メニューからのコントロールについては問題山積である。メニューからコントロールして、作業中のScriptを保存しようとすると、エラーでアプリケーションが落ちてしまうのだ。 

これについては、Apple純正のスクリプトエディタ上で現象を確認している。メニューから呼び出したAppleScript側から容易にスクリプトエディタを落とせてしまう(そこまで機能を使い込んでいるユーザーは、世界中でもそうはいないようだが)。 

つまり、この調子では次期メジャーアップデートとなるMac OS X 10.5のリリース時までこのバグは治らないことが容易に想像でき……Script Debugger 4.xもそれまではメニューからのScript呼び出し機能を実装できない可能性が高い。 

これでは、Script Debuggerをアップデートする意義がまるっきりないではないか。 

せめて、Scriptの抽象化機能でも実装して……既存のモジュール同士をボックスや丸で表示し、相互の呼び出し関係を図示したり、全体を一歩引いた位置から編集(モジュールごとにつかめたりする)したりif文やループ部分を折り畳んで非表示にしたまま編集できたりするとよいのだが……。 

残念ながら、現状ではアップデートするほどのメリットを感じない。

Copyright by Piyomaru Software, all rights reserved.