「あのとき分からなかったQXが」の補完計画

見ての通り,本文が長くなりそうだったので,ここに枝葉の部分を書いています。最初「補完計画」という言葉はちょっと古すぎるかと思ったので,「長い脚注」としたのですが,書いているうちにやっぱり補完計画になってしまったので元に戻しました。

本文の目次

  1. 目次
  2. はじめに
  3. テキストファイルを知った日
  4. QXを知った日
  5. マクロを知った日
  6. QX_MLを知った日
  7. さいごに

補完計画の目次

こちらは順不同です。


ワープロからテキストファイルまで

デスクパワーに付いていた一太郎4.3。そのころはまだぎりぎりワードと一太郎がシェア争いをしていたのだ。こんな風に書くと一太郎がもう敗れてしまったかのようだが,多分,いつの間にか一太郎は敗れてしまったのだろう。買ったパソコンで一太郎モデルを選んだのは別に天の邪鬼ではなく,国産のワープロソフトの方が日本語処理には強いだろうと思ってのことだ。ワードでは書式設定がおかしなところにあると聞いていたせいもある。ちなみにそれがどこかというと,縦書きにするときで,書式設定ではなく,「ファイル」の「ページ設定」である。なぜかワードはこんなのところに縦書き用の書式設定がある。大学のパソコンで初めてワードを使ったときは戸惑ったものである。

一太郎4.3は悪いワープロソフトではなかった。わざわざ新しいバージョンに買い替える必然性があったかというと,あまりなかった。必要があって一太郎8を買ったわけではないからだ。あえて不満があったとすれば,一太郎4.3はロングファイルネームが扱えなかったことくらいである。もっとも,ロングファイルネームが使えないというのも意外と不便だ。特に私のような素人は,ファイル名に英語の省略名など使えないので,どうしても日本語で省略もせず内容を示したファイル名を付けたがる。日本語だと DOS ファイル名などたったの4文字である。ドラクエじゃないんだから。

それでもまあ,やはりアカデミックパックがあって,一太郎が意外と安く買えたから買ったというのが単純な事情だ。それと「8」が出てるのに「4.3」を使うのは若者には辛い。これが年を取ってくると,「コマンドライン最高」とか平気で口にするようになる。私も別に好んで古いバージョンを選ぼうとは思わないが,最近は状況次第では古いバージョンを使うことを恥ずかしいことだとは思わなくなった。

ところが,一太郎8を使うと,それまで一行に入っていた行が隣の行にまで渡り,二行使うようになった。これは変だと思った。古いファイルを一太郎8で読み込んだだけである。それで全体の行数が変わってはたまらない。

さて,種明かしはすぐにするとして,どうしてそこまでワープロに私はこだわっていたのだろうか? それは私の目的が印刷物にあったからである。印刷するためにパソコンを使っていたのだ。そんな私にとって,テキストファイルは単なるデータであり,印刷するためのファイルではなかった。……もちろんここには間違いがある。多分,テキストエディタや版組ソフトを知っている人にとっては何でそんなことをと思うような間違いだ。

のちにプログラミングをするようになって,本当に戸惑ったのはまさにこの部分だ。つまり,世間にどのような道具があるか知らないのだ。世の中には strcpy まで自分で書いてしまう人がいるそうだが,私はそれを笑えない。strcpy というのはC言語の文字列コピーをするための関数で,標準のライブラリに入っている。知らない人はこんなものまで自分で書いてしまい,しかもその自作関数のバグで苦しんでいたりする。知っている人はそれを見て笑うが,知らなければ自分で作ってしまうというのも結構ありがちな話だ。プログラミングの初心者は笑われるのを承知で人に見せた方がよい。上達としてはそっちの方が近道だ。だが,さて,このような問題を解決する方法は今のところあまり見つかっていない。strcpy が自分から存在をアピールするようなことはないし,テキストエディタが自分から存在をアピールするようなこともない。QXのマクロのヘルプには「用途別ステートメント/関数」というのがあって,これが唯一の解決方法のような気がする。だが,「マクロヘルプの使い方を知った日」で述べるように,知らなければそれさえも使いこなせないのだ。

たとえば CSV というファイル形式がある。データをカンマで区切った形式だ。データをカンマで区切っただけの,単なる文字列データだ。これは表計算ソフトでは標準的で,表のデータの保存形式としては「一般的な」ものである(この「一般的」というのは汎用性があるという意味で,広く知れ渡っているという意味ではない。広く知れ渡っているのはマイクロソフトのエクセル形式であろう)。表を印刷したいと思っている人が CSV 形式でデータを保存するかというと,多分,何も知らなければそんなことはしないはずである。なぜなら,印刷したい人は,書く項目のデータにだけこだわっているわけではなく,各行や各列の幅や色などにもこだわっているはずだからである。

私がワープロソフトにこだわったのも,文章以外の設定をしたかったからだ。二段組にして,禁則のぶら下げは二文字,各用紙の右上にページを印刷。そんなことを考えていたのだからワープロソフト以外には考えが向かない。

さて,一太郎4.3と一太郎8では明確な違いがあり(正確には一太郎4.3までと,その後のバージョンが大きく変わったらしいのだが),いくつかできることとできないことにズレが生じた。今までできたことができなくなり,できなかったことができるようになったのだ(後の方はバージョンアップなのだから当たり前だが)。具体的にどこというと実は正確には覚えていないのだが,禁則処理のぶら下げと追い込みの処理についてである。

こんな話に興味があるのかどうか分からないが,4.3以前では禁則文字のぶら下げというのが一切できなかった。一行20字で書いていたとして,21文字目に "。" だの "」" だのがくると,一行を21文字にして,文字間を詰めて表示,印刷していた。これを詰め込みというらしい。一太郎だけに通じる言葉なのかもしれないけど。で,それに対して「追い出し」というのもある。これは一行を19文字にして,二文字を隣に追い出す方法だ。インターネットエクスプローラやネットスケープナビゲータのようなブラウザもこっちのやり方で禁則文字に対応している(ブラウザの追い出しだと "っ" やその他の小さいひらがななども追い出しされるが,本来,これは禁則処理しなくてもよい文字である)。ところでぶら下げというのは,文字同士の間隔は変えずに,20文字目の下に文字をぶら下げることである。詰め込みだと21文字目の文字は隣の行の20文字目と同じ高さになるけど,ぶら下げだと21文字目の位置は,まさに21文字目の位置になる。

まあそれで,それ以降のバージョンだとぶら下げができるようになったのだけど,それまで詰め込みで処理していた行が,追い出しで処理されるようになった。二行になってしまったのは追い出しをされた行だったのだ。どういうわけか詰め込み処理というのは存在しなくなり,詰め込みをしたいようなら,その行だけ設定を変更して21文字にするといった方法しかなかった。深く追求したわけではないので,詰め込みを自動処理してくれるような設定もあったのかもしれないが。そんなことはやってられないので,追い出しに納得いかなかった私は,新たに追加された機能,「ぶら下げ」を利用するようになったのだが,どうもそれでも「追い出し」になってしまうことがままあったのである。これは簡単な原因で,閉じ括弧("」")がぶら下げされずに追い出し処理を喰らっていたからであった。「一太郎って閉じ括弧を初期設定ではぶら下げてくれないのね」などと思って呑気に設定を探した俺。その背中は間抜けであっただろう。「あれ? ぶら下げ文字に閉じ括弧を加えても何も変わらないぞ」と思い,その背中がちょっと緊張したのは二分と経っていない同じパソコンの前での出来事だった。

サポートセンターに電話する。「閉じ括弧のぶら下げができないんですけど」「できません」「ああそうですか」受話器を置いた。「なーんだ。できないんだー」などとココロハレバレになったはずがなかった。もちろん,サポートセンターとのやりとりはそれだけではなかったのだが,結論としてできないということが分かったのだ。それだけで充分だった。設定の仕方を教えてもらおうとしただけなのに,それができないことを知る羽目になるとは思いもしなかった。ふつふつと一太郎に対する怒りが湧いてきた。「何が国産ワープロだ。国産らしさなんてどこにもないじゃないか」それで発作的にマイクロソフトのワードをインストールした。白状すると不正コピーだ。だが,もちろんできない。不正コピーでサポートに電話するのもどうかと思うが,「購入前の動作の確認」であれば問題ないはずだ。で,マイクロソフトのサポートセンターに電話した。「閉じ括弧のぶら下げってできますか?」サポートセンターの返事というのは概して時間がかかる。だが結論は,皆さんも予想しているとおり,「できません」だった。ちなみに,サポートする予定もないそうだ。一太郎もワードも。へへーんだ。不正コピーしたワードは実にあっけなくハードディスクから姿を消した。

ここでちょっと眉をしかめた人のためにフォローしておくと,不正コピーはよくない。これを読んで,「なんだ。みんなやってるんだー」などと訳のわからない安心感を得てはいけない。ここでちょっと私が考えたいのは,ここでワードが閉じ括弧のぶら下げができると知ったら,ワードを自分の金で買ったかということだ。

当時の金銭状態,精神状態を考えるに,さてどうだろうと思う。まず,ワードが,一太郎がサポートしていないそういう日本語特有の処理を備えているということをほとんど期待していなかった。だからそれは確認作業だったわけで,もしそれでぶら下げができたら,それこそまたショックを受けていただろうと思う。「ワード万歳。マイクロソフト万歳」と,世間の意見とは正反対の意見を持つようになったはずだ。まあ,だが,それは置いといて,残念なことに,その時の精神状態を思い出すと,やっぱり不正コピーで使い続けていたような気がする。言い訳すると,当時はお金をいくら払ってもその機能が欲しかったし,だからワードも以下の事情がなければ買っていただろうと思う。その事情とは,ワードがとても身近に,手を伸ばせば届くところにあったという事情だ。あんまり書くとなんだか本当につつかれそうなのでこの辺でやめておく。別に正当化しようとしているわけじゃないからね。

さて,ご存知ないかもしれないが,ワープロソフトは一太郎,ワードだけではない。オアシスというワープロソフトがある。ものを探している人間は,積極的に情報を集めるので,知られていないソフトも見つけてしまうのである。サポートに電話した。もちろん,要望が叶えられていれば買うつもりだったが,そこの返答もこれまでと同じであった。

ワープロソフトは全滅である。QXを知らなかった私は,エディタで縦書きの段組みができるとは思っていなかったので,すでに要望を叶える手段はついえたと思っていた。のちの話になるが,QXで段組みと,メモ機能によるルビの印刷ができると知ったとき,「嘘だろう」と思った。その時点での妥協点は,「閉じ括弧のぶら下げによる,完全な原稿用紙形式の印刷」であった。段組みやルビができないとかなり不便だったが,原稿用紙形式がサポートされていれば最低限使い物にはなる。

「エディタじゃあ,好きな感じに印刷とはいかないだろうなあ。印刷用の設定があるとは思えないからなぁ」などと,知らない人間特有の,よく分かっていない不信感を持ちながら,私はエディタを探し始めたのである(参考:テキストファイルに対する当時の私の考え方)。

リンク元へ戻る

▲▲


マクロヘルプの使い方を知った日

まあ,最初は戸惑うと思う。私は,「プロパティって何だ? メソッドって何だ?」と,当然のような専門用語の襲撃に見舞われた。最初のマクロヘルプの使い方としては,マクロを読むための使い方から覚えていった。人のマクロを読むためである。けど,ここで話題の中心としたいのは,マクロを書くときにヘルプがどのように役に立つかということである。

ある学生が三島由紀夫に「小説を書く上で読んでおいた方がいい本というのは何ですか?」と質問したところ,三島由紀夫はこう答えたそうである。「字引き」と。つまり辞書のことだ。これをマクロに直すと(プログラムでもいいけどね),「マクロを書く上で読んでおいた方がいいマクロというのは何ですか?」「リファレンス」って感じになるだろう。……本当はこういうメタファーを使った表現というのは好きではない。多くの場合,読み手を煙に巻くことに悪用されるからだ。本来,小さい子供だったらこう言い返すはずだ。「マクロの話をしているのであって,小説の話をしているのではない。ところで三島由紀夫って誰?」と。私も自分が読んだことのない作家の権威を借りて説得するのは問題があると思う。まあ,これを単なる導入と考えて,ちょっと我慢して読み進めて欲しい。

三島由紀夫のこのエピソードは私の好きな話の一つだが,まあ,これ以外の文章術の本も読んで総合的に考えて,このエピソードから感じることがいくつかある。「素直に答えてやれよ,三島由紀夫」という感想はとりあえず置いておいて,この学生が考えていたことは間違っていないということだ。つまり,いい小説を書く上でいい本を読む必要があると考えていたということだ。そのためにどのような本を読めばよいかという点で分からなくなっていたというのは,とても正しい悩みだ(何を偉そうに……)。で,それに対する「字引き」という答えは,多分,質問した学生が望んだ答えではなかっただろう。旅行で,現地集合の駅で,「お前,今日,なんで来た?」と質問したら,「いや,旅行だから」と答えるようなずらし方だ。「そうじゃなくて,この駅まで何に乗ってきたか聞いてんだよ」

で,三島由紀夫の回答に対するツッコミはこの辺にしておいて,回答した内容そのものに目を向ける。すると,小説を書くためにはたくさんの言葉を知っておかなくてはならないという教訓が得られる。

全然三島由紀夫を出す必要がないが,マクロを書くときには,マクロを読んで,普通のマクロがどのような作りになっているかを知る必要がある。感覚で,不自然な部分が分かるようになったら大したものだと思う。で,もちろんそれだけでは駄目で,ヘルプを読んで,たくさんの関数を知っておく必要もある。けどこれは,マクロを読んでいるうちに普段使う関数は覚えてしまうので,それで事足りる部分だ。つまり,本を読んでいれば,読んだ単語はとりあえず頭に入っているので,滅多に使わない単語を,辞書を読んでいざという時のストックにしておくという努力はしないで済む……かもしれないという話だ。偉大な作家がそれでも自分の語彙を増やすために恒常的な努力を惜しまなかったように,偉大なマクロ作家になりたければ,大江健三郎のように字引きを読む必要があるだろう。だけど,ノーベルマクロ賞まで欲しくてマクロを作りたいという人は多分まれだと思う。大体,そんな賞ないし。いや,大江健三郎もノーベル文学賞が欲しくて本を書いていたわけじゃないだろうけどね。そんな賞のために広辞苑を三回も買い替えるほどの努力はせんて。

strcpy を知らなかったというのは,関数を知らなすぎ,小説で言えば語彙が少ないと言えるのかもしれないが,普段から辞書を読むなどという努力をせずにそういう事態に陥らないためには,類語辞典が必要なように,関数の類語辞典が必要なのではないかと思う。その点で,QXのマクロヘルプはそれに近い引き方ができるようになっている。

さて,やっと本題めいた部分に入ってきたが,本当の本題はここでちょっとだけ話す脱線部分にある。本題が脱線部分にあるというのも妙な話だけど。マクロヘルプの使い方を知った日は,はじめに読んで分からなかった日を経験して初めて訪れるものだからね。

「関数の類語辞典が必要だ」とか,「普段から関数を知っておく必要がある」なんてことは,初めから思っていたことではない。実際,マクロに手をつけるときというのは頭の中にやりたいことが充満していて,とにかく必要な機能や動作を欲しているときだ。「あれをやりたい」→「基本機能では無理」→「マクロならできる」と,このような流れで思考が移っているわけだから,頭の中には「あれをやりたい」の「あれ」しか入っていないはずである。実際,私もそうだった。ここでちょっと注意したいのは(そんな言い回しを使うほど見逃されやすい問題でもないけど),基本機能では無理で,マクロならできるということをなぜ自分は知っているのかということだ。そう。QXのマクロは高機能を謳っているので,マクロならできるに違いないと思っているだけであることだ。誰かに「ほんとにマクロでできるの?」と聞かれたら,「多分……」と段々声を小さくしながら答える羽目になるだろう。やりたいことが決まっていて,やり方が分からないときの人間なんてそんなもんだ。

実際に,「関数の類語辞典が必要だ」と思うようになるまでは,つまり次のような前段階を踏まなくてはならない。「自分は語彙が足りない」という自覚段階である。さて,自分は語彙が足りないと気がつくのはいつだろうか? 二つ状況が考えられる。それは,strcpy を自作して,そのバグに苦しみ,そのあとで人に「それは標準のライブラリにあるよ」と言われたときだ。もう一つは,本当にマクロを作っていて途方に暮れたときである。何をどのようにして作っていいのか分からない自分を発見したときだ。それはつまり,マクロを作った後と,作っている最中だ。作る前にそれを自覚することはできないのである。

さて,以上のことから分かるのはどういうことだろうか? それは,最初はマクロヘルプの使い方が分からないということだ。そして,本を読み,語彙が増えてきたら,辞書のある一定の部分は不要になるのと同じように,一部分が不要になってはじめてヘルプの使い方が分かるということである。

「ヘルプが分かりにくい」という声をよく聞くが,それも仕方のない話だと分かっていただけただろうか? 最初はざっと目を通して,何が書いてあるか見ておき,それから人のマクロを読んで,そして自分でマクロを書くようになったら,またヘルプを読んでみるとよい。まだるっこしいのも認めるけどね。

リンク元へ戻る

▲▲


テキストファイルに対する当時の私の考え方

エディタのことをよく知るまでは,テキストファイルは印刷には向かないと考えていた。当たり前だが,テキストファイルは印刷用の設定を持つことができないからだ。この認識が正しいとしても,エディタの方に印刷用の設定を持たせるというのは,知ってしまえば当たり前だけど,知らないとそういうことも思いつかないのであった。

リンク元へ戻る

▲▲


ニュースグループを知った日

「ニューグループ」という人もいるが,まあ,そんなことはどうでもいいだろう。パソコンが欲しい理由が「電子メール」になってしまった昨今(2000/02/16 現在)では,もはやその存在を知る人も少ないのではないかと思う。これを読んでいる人は知っているのかもしれないけど,私は全然知らなかった。「インターネットする」と言えばウェブページを見ることだった私にとって,インターネットと電子メール以外にパソコンをプロバイダに接続して利用するものなどなかった。もっとも,ニュースグループにはそんなに求心力はないと思うけどね(ここのコンピュータ用語,使い方が間違っていると指摘される方もおりましょうが,黙認してください)。

ホントに知らない人のために,よく知らない私の口から解説させていただくと,ダウンロードする掲示板,といったところだろうか。サーバ側からみると,回覧する電子メール,という感じらしい。歴史としては電子メールの次,WWWの前の登場である。確かね。

ネットニュースのマイナー性には利用者も気づいているようで,それについてもたまに話題になる。ネットニュースはもともと広く開かれた世界である。誰かが投稿すると(これはメールを送るという感覚に一番近い),その投稿された記事がサーバを通して全世界に回覧される。これがメールと違うのは基本的に「受信」という概念がないことである。ニュースサーバに接続したら,最近のニュース一覧から記事を選択して,それを読む。ただ読む。この辺が掲示板に似ている。

ネットニュースには独特の言葉遣いがあって,投稿するものを「記事」というのは独特であると思う。まあ,私がこの場でネットニュースについてつらつら書いても仕方ないので,ボロが出ないうちに切り上げるけど。詳しく知りたい人は検索エンジンでネットニュースとかニュースグループとかで検索するとすぐに情報は手に入ると思う。そうやって調べる手段を持っていないという人に説明するのも大事だと思うけど,ニュースグループは何よりその雰囲気が特徴なので,どうにもうまく説明できないのである。

ネットニュースを私が知ったのは,例の,パソコンデビューで一歩先行く私の友人からであった。WWWと電子メールのほかに,インターネットにはニュースグループというのがある,と教えてもらったのだ。私は何も知らずにニュースサーバに接続して記事を読んだが,基本的に,何かのファンが集まっている,というわけではないところが気に入った。もっというと,「フレーム」が気に入ったのである。ちなみに,今はそれほどフレーム好きというわけではない。フレームとはネット上の口喧嘩のことで,議論が,文字だけのやりとりなのでどうしても誤解を招いてズレていき,しまいには相手の人格を否定する誹謗中傷へと発展する現象のことだ。正確にはちょっと違うけど。まあ,最近だと「ここがヘンだよ,日本人」のオンライン,テキストバージョンといったところであろうか。もっとも,これは決めつけで,別にフレームが無意味な感情のぶつけあいだと言っているわけではない。私がわざとデフォルメしているだけである。

ニュースグループは,前にも言ったように公共性が高く,そのせいで生真面目な雰囲気が漂う。HTML での投稿などもってのほかで,漢字コードが違うだけで文句がきたり,無視されたりする。私が投稿したときのニュースリーダー(メールソフト,メーラーのニュースグループ版)はマイクロソフトの,アウトルックの前身,マイクロソフトインターネットメールアンドニュース(Microsoft Internet Mail & News, MSMN)だったのだけど,すぐに投稿のヘッダに注意が来た。ま,初めてじゃ HTML メールとか Message-ID とか分からないしね。マイクロソフト製品は,アウトルックになっても未だに Message-ID を勝手に付けやがるそうで,それが直らない限りニュースグループでは敬遠されると思う。最近はそんなこともないかもしれないけど。もちろん,ちゃんと設定すれば非難されない程度にはできる。

そんなわけでニュースグループを利用するようになってすぐに私は MSMN の設定を変更し,そのうちフリーのメーラーとニュースリーダーを使うようになった。アウトルックは,現在,インストールしていない。その辺のマナーにはうるさいです。ネットニュースは。勉強になったけど。

どうもここの補完はほかのところと調子が違うな……。テンションが低くなるのもニュースグループの特徴かも……。

私が投稿したのは fj.editor.misc だけど,多分,ここはこの世界の性質から言って fj.editor.emacs が主役なんだと思う。

リンク元へ戻る

▲▲


ダウンロードを知った日

ダウンロードを知った日は衝撃的だった。今ではその衝撃さえよく覚えていないが,パソコン,そしてインターネットというものを使うのが楽しいと感じるようになったきっかけでさえある。パソコンの世界を知った日と言っていいだろう。

ここで言うダウンロードとは,いわゆるシェアウェア・フリーウェアに留まらない。ブラウザの右クリック,「画像に名前を付けて保存」を含めた,「保存」のことを指す。

当たり前だが,インターネットに接続する前の私の世界において,プログラムソフトというのは店で買うデカいパッケージにほかならなかったし,ファイルとは,自分がキーボードを叩いて書いた脚本のことにほかならなかった。「プログラムソフトは買うもの。ファイルは書くもの」であったのである。金と努力の産物であったのだ。……ここまで書くと,「ダウンロードってのはつまりお前にとって金も努力も要らないものだったのか?」と予想がつけられると思う。その通りである。まだベクターにも行ったことのない人は(もちろん店の名前ではない。ネット上のサイトのことである)そこにあるソフトを見てみるといいと思う。

パソコンを買ったからにはやってみたいと思うことがいくつかあるはずだ。絵を描いたり,音楽を作ったり,ゲームをやったりしたいと思っているはずだ。だが,そのどれもがソフトを必要とする。残念なことに,パソコンを買ってきただけではそれはただの箱に過ぎない。このことは昔々から繰り返し言われてきたことだけど。そして,やりたいこととパソコンの間にある,プログラムソフトの存在に気づいてみんな愕然とするのだ。いちいち目的のために金がかかる。パソコンというのは本体がこんなに高いくせにそれだけでは何の役にも立たないのかと。

これがプレステだと大体文句はない。知っていて本体を買うからだ。というよりも,目的のゲームがあってプレステ本体を買うというのが自然だ。これが,パソコンの世界だと,どうもプログラムソフトのことをあまりアピールしていないように思う。パソコンメーカーは,自分のところの製品が,ソフトがなければただの箱ですよとは決して言わないし,パソコンを使って作曲したいのならこれこれのソフトが必要です,とも言わない。それで,何も知らずにパソコンを買うと,何もできない高額の箱の前で愕然とするのだ(そのくせまともに日本語印刷もできないしね)。

え? 「何もできないというより何をしていいか分からない」って? じゃあ,芝居の脚本を書いてはどうだろう?

そんな,店に行ってもソフトのタイトルは 100 とか 200,やりたいことができるソフト(たとえば作曲ソフト)として探してみれば一つか二つといった世界しか知らなかった私にとって,今すぐ動かせるプログラムが一万以上ある世界というのはまったく衝撃的だった。それが無料で公開されている。その膨大なプログラムを使うためにしなくてはいけないこと。それがダウンロードだ。……すごく大仰な言い回しになってしまったな。

だけど,私も段々この世界に慣れてきて,やりたいことがあったらそのソフトをダウンロードするといったことをほとんど当然のようにするようになった今,早めにそれを知ったときの衝撃を記録しておくというのも大切なことだ。本当に,フリーウェアがあって初めてパソコンは便利な道具となるからである。便利になると便利に慣れてしまい,それがどれだけ便利なのかさえ忘れてしまうのだ。インターネットとフリーソフトウェアは今までの価値観をまったく変えてしまうものだ。多分,それを知ったら二度と昔には戻れないという類のものだ。かつての洗濯機や冷蔵庫,電話やテレビがそうだったようにね。だから,それを知る前と知った後のことを書いておくのは,自分にとってとても意味のあることなのだ。大体,私もそれを忘れそうなくらいだ。もう一度話をまとめると,フリーソフトウェアによってパソコンは便利な道具となり,それがなかった(知らなかった)ときに比べると,私にとってのパソコンの価値というのもぐんと変わった。そして,変わった後の価値こそ,パソコンの真の価値である。私はこの価値を以って,パソコンは便利な道具だということを皆に教えたいのだ。そのために,フリーソフトウェアを知った経過について書いていこうと思ったのだ。

さて,本題はこれまで。あとは本当に「ダウンロードを知った日」について徒然なるままに書いていく。別に内容を読まなくても,「ああ,便利なんだな」くらいはもう伝わったと思うから,ここからは蛇足に近い部分だ。

よくある話ではあると思うのだが,ダウンロードサイトで最初に見たのは「ゲーム」であった。ゲームというのは今でも店で買うのが一般的だと思うが,これがインターネットの世界ではタダで落ちていたりするのである。私もゲームを作りたいとは常々考えているのだが,なかなかうまくいかない。ま,ここでちょっと脱線。ゲームを作るのには,一人だけいればよいような気がするけど,それが難しい。ゲーム作りには四つの役割がある。「デザイン」「プログラム」「グラフィック」「サウンド」の四つだ。まあ,私の好きなゲームにはサウンドのないゲームも多いが,「音の要らないゲーム」と「音が本当は必要だけどついていないゲーム」というのが全然違うことは分かると思う。デザインというのはゲームデザインのことで,つまりゲームアイディアそのもののことである。この四つ,一人でやろうとすると大変どころかほとんど不可能なのである。「デザインとプログラミングって一人でやるもんじゃないの?」という人もいるかもしれないが,「こういうゲームがやりたい」と思う人が,「動的に確保したメモリの開放」なんてことまで勉強しなくてはいけないのはちょっと間違ってるし,それができない人はゲームを作れないというのはちょっとしんどい。もっとも,インターネットではアイディアを出す人よりプログラムを作る人の方が高く評価される傾向にある。これは一般社会と逆である。まあ,脱線ついでに書いてしまうと,ネット上で,ゲームのアイディアのあるあなたが,プログラマやグラフィッカに協力を呼びかけて一緒に作り上げるというのも悪くない話だ。もっとも,その時は「デザイン」の役割をちゃんと知っておいた方がいい。つまり,すべてを決定するのである。プログラマは,すごく偉くて優秀なように思えるけど,要求された動作をするようにプログラミングするのがプログラマである。「自機のスピード」とか「敵が画面に現れてから弾を撃ってくるタイミング」なんてことは,プログラマが決めることではない。デザイナーは,最初の漠然としたイメージをすごく具体的なイメージにまで形にしてプログラマに伝えなくてはならないのである。それが具体的であれば,それを形にするのはプログラマの仕事だ。

ダウンロードサイトを覗いたときはそれほどの目的があって覗いたわけではないので,ゲームにふらふらと吸い寄せられてしまった。別にそれが悪いことではないけれど。それから何より FTP のソフトに関してはオンラインソフトがないと話にならないという状況だったので,そちらにも助けてもらった。

やっぱりなんか便利なソフトを作りたいと思うのだが,どうも技術がなくていけない。ここで不特定多数に要望を出すので,作ってくれないだろうか?

……ごめん,ちょっと言い過ぎた。

リンク元へ戻る

▲▲


保存終了

書式設定は,一時的に変更したい場合もあるので,QXでは,書式設定は自分で保存しないと次までは適用されない。キー定義設定やツールバー設定も同様で,保存しないと次の起動時までは残っていない。保存終了とは,キー定義設定やツールバー設定を保存して,その設定を終了させることである。そのまんまだな。設定が保存しないと残らないというのは結構初心者には分かりにくい部分だと思う。あと,保存終了には一つだけ不満があって,「保存終了しますか?」で確認ダイアログが出て「保存終了しました」でもう一回ダイアログが出てくるのだが,これは少ししつこい。もっとも,もしかしたらQXのことだからどこかで一回に出来るのかもしれない。ま,今のところはそれほど設定変更などしないので,たいしたわずらわしさじゃないけれど。

リンク元へ戻る

▲▲


知らない言葉

パソコンやコンピュータの世界に触れて,それを覗くと,とにかくどうしようもなく専門用語があふれかえっている。しかもほとんどがカタカナ。さらにその説明がどこにもないといった状況だ。

言語発生的に興味深いと私の知人はもらしていたが,どうも残念なことにあまりそこを研究しようという気は私の中にない。ただ,ある言葉があって,誰かがそれを使い始めて,だんだん一般的になっていくという過程が,それまでの歴史に比べてとても早いサイクルで回っているということは理解できる。また,共通認識がどんどん変化していき,言葉の意味もころころ変わるというこの状況が,「言語発生的に興味深い」という事実は確かに認める。

簡単な例をあげよう。たとえばホームページ。STL のイテレータ。二つだけど,まあ,ちょっと意味を考えてみよう。ホームページという言葉の本当の意味を私は知らない。多分,誰も知らないだろう。かつての意味も,現在の意味も,結局のところ不確かな伝聞だけだ。そして,伝聞だけに,今でも意味が変化している。ぶっちゃけた話,今(2000/02/25)現在の時点では大体,WWWブラウズにまつわる,あの,表示する奴は,それがファイルだろうとイメージだろうと,デザインや抽象的な概念だろうと「ホームページ」の一言で表せるのである。逆に,表示されない,音声出力されているそれに対しては,あまりホームページという言葉が当てはまらないような気がする。これもどんどん意味が変わっていっている例だ。当たり前だが,道は一本きりで,昔には戻れない。このホームページという言葉が,権威から抜け出して暴走した例だとすれば,イテレータは権威が言葉を暴走させているように思える。STL というのは標準テンプレートライブラリのことで,イテレータというのはその中の専門用語なんだけど,「標準」というだけあって,これはC++というプログラミング言語の標準の一つとして採用された。つまり,みんなこれを使いなさいねと提供されたのである。で,イテレータ,英語で書くとiterator,それを訳すと繰り返し,で,STL での訳が(まだ暫定的だと思うけど)反復子,けど,反復も繰り返しもしていないのである。何がどういうセンスでイテレータになったのか知らないが,標準として採用されてしまうとその言葉を使うしかないのである。で,使っているうちに使っている人は段々疑問を感じなくなってきて(もしかしたら)平気で「反復子」なんて口にするようになるかもしれない。その時の,何も知らない一般人と業界人とのコミュニケーションを考えただけで,私など背筋に冷たいものが走るが,まあ,その手の悲劇は世間に溢れかえっているので,ここではそこは深く考えないでおこう。

おそらく,昔々,初めてホームページという言葉を使った誰かがいたはずである。話によると,最初のブラウザ,モザイクの起動時に表示するページを「ホームページ」という言葉で(モザイクの作者が)説明したそうである。そこから,「私のホームページ」「あなたのホームページ」といった表現が生まれて,そこからはなしくずし的に現在の状況が生まれたというのが定説らしい。作者が意図していなかった言葉の使い方だが,誰にも止められなかったわけだ。その点,逆にイテレータの方はちょっとこれからどうなるんだろうという気がする。STL はこの手の専門用語の宝庫で,「アルゴリズム」なんて言葉が再定義されている(ある意味,C++らしい……か?)。どれも,全然関係ない用語を引っ張ってきたような印象を受ける。そんな言葉を使うくらいなら,ドドンゴとかカノッサとか,いい加減な名前を付けた方がよかったんじゃないかと思うけど(適当に書いたけど「カノッサ」ってなんか便利だね),とにかく標準になってしまったんだからどうしようもない。

ちょっと雑談だけど,圧縮されたファイルを解凍するというけど,この「解凍」という表現の発生も面白い。暇があったら調べてみてはどうだろうと思う。ここではあえて書かないけど。しかし私も興味がないとか言いながらしっかり首を突っ込んでる気がするな。

まあ,そんなわけで,この手の言葉を一言で辞書的に説明するのは不可能に近い。世の中には自分の言うことが正しいんだという顔をして言葉を定義したり,他人の言葉の選び方にケチをつける人がいるけど,コンピュータの世界ではこれがすごく激しいような気がする。有名なソフトを作ったプログラマが間違った言葉の使い方をしたら,そっちの方がいつの間にか正しくなっちゃうような世界だ。……やっぱりすごく興味深いのかもしれない。けど,それはそれ。とりあえず置いておこう。

ここでの話題は,僕らが(「僕ら」って書き方もどうかと思うが),知らない言葉にぶつかったとき,果たしてそれをどのように理解したらいいのかという話だ。つまり,突然,オブジェクトの要素に共通の方法でアクセスできるようにするためのクラスのテンプレートをイテレータと呼ぶ,などと言われたとき,どこを向いて何を言えばいいのかという話だ(イテレータの登場はここでおしまいである。STL を作った人の経歴を見ると,このネーミングセンスが少しだけ納得できる。あるいはできるかもしれない。別にプログラミング言語で人間性なんか感じたくねーよという人は無視してもいいし,どちらかというとそっちの方が正しいと思う)。

大体,知らない言葉はダンゴになってやってくる。恥をかきたくない人は,とりあえず聞くだけ聞いておいて,自分では使わないようにする。知ったかぶりする人は,一度聞いただけの言葉をやたらと使おうとする。ま,ここで白状すると,私は後者のタイプの子供だった。子供っていうのはこういう傾向があると思うし,別に恥ずかしいとも思わないが,小学生が難しい言葉を無理して使っているところを見ると,どうも笑ってもいいのか(その笑いは決して子供にとって愉快なものではないはずだ。だって,一生懸命覚えた言葉を,一生懸命使っている最中なのだから),聞いてやればいいものか判断に迷う。何も考えず,気分だけで対応するとしたら,やっぱり馬鹿にしちゃうような気がするなぁ。まあ,私が言えることは,どんな言葉を使おうと,一生懸命しゃべっていたら聞く人はいるということだけである。

辞書を引いても意味が載っていない,あるいは載っていても,それが会話の中で聞いた使い方と違うと感じた場合は,(大抵の場合後者だが)使い方と,言葉が指している本質から類推するしかない。これがまた難儀だ。ことに新しい言葉がぽんぽん生まれてくる環境にあっては。

皆さんはどうするだろうか? 別にこれはコンピュータの世界に当てはまらない。「今までの経験が全く役に立たない状況」など,人生にいくらでもあるのだ。

アホな例で申し訳ないが,初めてエロマンガを読んだとき,「入れて」というセリフに小学生だった私,他二名は混乱した。何をどう入れるんだ。大体,この状況で口にするようなセリフだろうか。おかしい。この状況で「入れて」という言葉が使えるなら,「開けて,閉じて,出して,運んで」は,あるいは使えるのだろうか?(え? 全部使えるって? あんたは変態だ!)

当時の自分にとっては「入れて」という言葉こそが,わけの分からないものだった。それこそイテレータだ。……ごめん。わざとじゃないんだ。偶然だ。

まあ,それは置いといても,(……ちょっと恥ずかしい……)結局のところ,二度とその世界に近づかないか,分からないなりに触れて,最後にはその意味を肌でつかむかの二つに一つのような気がする。それで,その選択というのは意外と年中やっているような気がする。ここまできて無難な結論で申し訳ないが,興味があるかどうかだ。

そういえば,エディタとは何ですかという FAQ を1999年には完成させる予定だったのだが,予定を大きく過ぎてしまった。そろそろ完成を目指さないといけないな。

今までの経験が役に立たなくて戸惑うのは当然のことだ。それこそ本当の経験と呼べるような気がする。だから知らない言葉に興味があるなら,もう飛び込むだけである。

リンク元へ戻る

▲▲


HTML と「HTML作成支援マクロ Expert」について

HTML というのは文書の構造が分かりやすいように決まった目印をつける(マークアップする)ということに対する,一つの規格みたいなものである。つまり,ある文章を書いて(たとえば「HTML と「HTML作成支援マクロ Expert」について」なんていう文章),それが二番目に大きな見出しだという印を付けたかったら(一番目は全体のタイトルだから二番目なんだけど)<H2> と </H2> とで囲んで目印をつけるのである。この目印をタグといって,ブラウザはこのタグを解釈して表示する。二番目に大きい見出しは,一番目より少し小さい文字で,太字で,その前後には一行開けよう,なんて表示を決めるわけだ。この構造のための目印の決まりの一つが HTML という決まり。

で,このタグの種類というのは決まっている。だから決まったタグで,文字列を挟んで目印をつけられるような処理があると便利だ。それがねこみみさんのマクロ。また,規格が変わって,いくつかのタグが(規格から)追加されたり削除されたりすると,その分のタグの定義なんかを変えなくちゃいけない。それが簡単にできるのがエキスパート版なのである。

リンク元へ戻る

▲▲