プログラムを開発するための専用ソフトとして、PP(プログラムプロセッサ)というものがあるといいだろう。──
似たものに、プログラム・エディタというものがある。たとえば、MS-Word 付属の Visual Basic Editor だ。これらのエディタのやることといえば、プログラムに関係する特定の文字列(のある行)を、カラー表示にして目立たせることぐらいだ。
ただのカラー表示であるから、つまりは、文字列を操作するだけのエディタであるにすぎない。
さて。エディタでプログラムを表現すると、プログラムは行の順番に並ぶ。つまり、一次元の順序で並ぶ。(線形だ、と言ってもいい。)
一方、プログラム自体は、複雑な階層構造を取る。(言わずもがな。)
となると、両者はうまく合致しない。
階層構造であるプログラムを編集するには、線形で処理するエディタよりも、階層構造で処理するソフトの方が便利だ。そういうソフトは、あるか? ある。アウトライン・プロセッサと言われるものがそうだ。(いろいろと知られている。)
このようなソフトを使って、プログラムの階層構造を表現すると、いろいろと便利だろう。
たとえば、「Goto AA10」というような行があったとして、「AA10」という文字をダブルクリックすると、「AA10」というパートにジャンプする。そして「AA10」のパートだけが別ウィンドウに表示される。
同様に、「Sub shori / ....... / End Sub」というパートがあれば、それもまたそのパートだけが別ウィンドウに表示されることがある。
このようなパートは、それ単独でカット・コピー・ペーストしたり、移動したりすることができる。(エディタでやるように、いちいち行を範囲指定する必要はない。)
当然ながら、「Sub shori / ....... / End Sub / End Sub」という矛盾したパートはありえない。あればすぐに警告される。(ま、現状のプログラム・エディタでも、警告してくれるものはある。)
「If / ....... / End If」も、パートと同様に処理が可能となる。
こういうことは、通常は、半角スペースを使って、見やすく書いているだろう。次のように。
If .......
If .......
If .......
End If
End If
End If
しかし、これでは、あまりにも原始的だ。見やすくない。どうせなら、階層構造をそのまま自動的にパーツとして表示する方が見やすい。
まずは、カラー化によって、階層を区別する。次のように。
If .......
If .......
If .......
End If
End If
End If
また、二番目の If をダブルクリックすると、次の箇所だけが別ウィンドウに表示される。
If .......
If .......
End If
End If
つまり、その外側の If.... / End If は 表示されない。
このようにして常に階層構造が明らかになるから、プログラムミスによるバグの発生する確率が激減して、プログラム生産の能率が非常に向上するだろう。
かなり高い値段を付けても、売れそうだ。一本百万円でも売れるかも。
【 注記 】
そのミソは? HTML の発想を、プログラムエディタに取り込むことだ。
ハイパーリンクによってジャンプできる、という発想を Goto に当てはめる。
UL や OL の階層を、If ... EndIf に当てはめる。
ただし、HTML タグをいちいち書く必要はなく、自動的にタグができる。
(メーラーのなかで自動的に HTML タグができるのと同様。)
【 補足 】
Goto のような文法語は、反転表示するのが好ましい。次のように。
If x = y then Goto bye
※ 上の反転文字の1行は MS-IE では正しく表示されますが、Firefox や Opera では正しく表示されないようです。(最新バージョンでは大丈夫かもしれないが。)(── css の記述ミスだったので、修正しました。)
2006年08月23日
この記事へのコメント
コメントを書く
過去ログ