2004年02月19日の日記です


究極のプログラムツール  2004-02-19 22:54:06  コンピュータ

大学のころから、僕には「詩を書くようにプログラムしたい」という欲求がある。



普通のプログラムは、論文を書くようなものだ。

十分に準備し、突込みが入らないように綿密に計算して書かなくてはならない。


しかし、詩を書くというのはそういうものではない。

自分の考えを表現できればそれでいい。他人がそれに共感してくれればうれしいが、反感を持たれたって別にかまわない。


残念ながら、今のところ詩を書くようなプログラム言語には出会っていない。

プログラムというのは、相変わらず一部の人間だけが扱える特殊技能だ。


おかげで、それは僕の飯の種になっているのだが。




それでも、時折「これは、詩を書かせてくれるかもしれない」と思えるプログラム環境がある。


はじめてそれを感じたのは、大学時代に awk を扱ったときだった。

string と int の違いを気にする必要も無い。文字列を char 配列と考える必要も無い。

連想配列で大量のテキストを縦横無尽に叩き切り、集計する。

大量のデータを操作するときには、とても心強いツールとなってくれた。


大学を卒業し、就職したゲーム会社では、awk を武器にして大量のデータと戦った。

ゲーム会社の新人の仕事なんて、膨大なデータの整理がほとんどだ。

しかし、僕は awk で整理ツールを作り上げ、普通の人が半日かかる作業を1時間で仕上げるようにしていた。

コンピューターが作業をしている1時間、暇なので漫画を読んでいてよく怒られたのだが (^^;;


#どうでも良いが、このとき作ったツールは自分用であり、他人に見せた覚えも無い。しかし、なぜか会社を辞める直前に、いつの間にかこのツールを皆が(社外の人まで!)使っていることが判明した。

 自分ではバグがあることも承知、直すのも面倒なので回避しながら使用していたのだが、皆が使うのならもっと修正すればよかった。

 そのまま何も言わずに会社を辞めたが、あの後誰かツールの保守をしているのだろうか…



やがて awk では十分な武器とは言えなくなり、perl を覚えた。

perl は awk より強力で、awk より面倒くさい武器だった。

「詩を書くような」プログラムは無理だったが、C 等に比べるとずっと簡単に自分の考えを表現できた。


perl は、会社を辞めて独立するときにも役に立った。

会社を辞めたのは WEB の黎明期。perl で CGI を組める人間には、十分な仕事があったのだ。




perl の後は PHP を使っているが、これではもはや詩は書けない。

ごく普通のプログラム言語で、CGI をつくる上で使いやすく速いという以外何の特徴も無い。


かわって可能性を感じた言語は、Excel だ。

実のところ、会社でゲームを作っていたときにもデータ処理などで使ってはいたのだが、Excel は非常に可能性を秘めた言語だ。

日本では残念ながら、「表計算」の名前のとおり計算に使うか、計算すらせずに「表」を作るための便利なワープロにしか使われていない。

しかし、Excel はデータ処理にも使えるし、未来予測にも使える便利なツールだ。


最小限の手間で最大の効果を得られる。Excel を使っているとき、詩を書くようにプログラムを書いていると感じることがある。




実は、妻が最近 Illustrator を使っている。

日記で書き忘れたが、欲しいというので昨年 12 月に、購入したものだ。


絵を描いているのを横で眺めていて、しびれる。

これは久しぶりに「詩を書くようなプログラム」を感じさせてくれるツールだ。


絵というのは非常に感覚的なものだ。その意味では、そもそも詩に近い。

しかし、Illustrator で絵を書くという作業は非常に論理的で、むしろプログラムに近い。



大まかな線を書いたら、その線を加工していく。

太くしたり細くしたり、ランダムに揺らぎを加えたり。

どんな加工をしても、元の線は崩れない。2重3重に加工を加えたり、加工した線と加工しない線を同時に描いたりもできる。


それぞれの線は「プログラマブル」なのだ。気の済むまで加工できる。

そして、加工した内容はそのままに、元線を修正することもできる。

加工のアルゴリズムだけを、別の線に適用することもできる。



Excel がデータを華麗に加工して見せたように、Illustrator は画像を華麗に加工してみせる。

その華麗さは、Photoshop などの比ではない。



どんなにプログラマブルだといっても、所詮は絵を描くためのツールだ、という人もいるかもしれない。

しかし、Illustrator は実際のところプログラム環境だということも言っておこう。


そもそもが、Illustrator というのは「PostScript」言語を生成するためのエディタだ。

そして、Illustarotr 自身が、外部言語から操作できる、巨大なオブジェクトライブラリとして設計されている。


現時点では、Illustrator は JavaScript/VisualBasic/AppleScript から操作可能だが、「Illustrator がスクリプト操作可能」なことが重要なので、対応言語はこれからも増やすことができる。




話は飛ぶが、PostScript というのはページ記述言語であるが、同時に Forth 系のスタック型言語であったりもする。ちゃんと条件分岐や繰り返し命令がある。


ということは、PostScript によって操作され、PostScript を生成する Illustrator なんてのも作れる。

ただ、ここら辺になると大道芸的な軽業としては面白いが、詩を書くように軽やかさがあるわけではない。




同じテーマの日記(最近の一覧)

コンピュータ

関連ページ

手相開発時の技術話(4)【日記 15/03/18】

出産祝い【日記 04/09/26】

別年同日の日記

03年 とりあえず復活

05年 忙しい1週間・金曜日

15年 ロケテストとショー発表

16年 秒殺(2)

19年 「蓄音機」特許の成立日(1878)

19年 久しぶりの「今日は何の日」


申し訳ありませんが、現在意見投稿をできない状態にしています


戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -