‥‥で、前回の続き。
と、そんないきさつで「プログラムと言えばCでしょぉ」モードに浸ってる頃、時代は中途半端にOA化の波が押し寄せてる最中で、それまでワープロ専用機を使ってたとこにコンピュータが入ってきたり、8インチのフロッピーが使えなくなってきたり、ハード的に全く互換性の無い機種に切り替わったり、ソフト的に全く互換性のないソフトに切り替わったり、といった状況がいろんな職場で発生していた頃でした。
その頃kenはすでに大学を出て今と同じようなこと(ドラムの演奏活動や講師業)を始めてたものの、とてもそれだけで食っていけなかったもんだから暇な時間に(って、いつも暇だったが‥‥)コンピュータ関係のアルバイトをしてだんですね。
アルバイトの中で面白かったのが、司法書士事務所で登記関係の書類を作る(主に測量データをもとにプロッタで図面を描く)やつなんですが、今回の話とはあまり関係ないからまた思い出したら書くことにしましょう。
で、そういった混沌とした時代だったため「これまで作ってたデータを新しい環境に持ち越したいけど‥‥」っていう話がいたるところで起こってて、結構そこらへんがアルバイトのタネになってたんです。
解析できず手も足も出せないデータも結構ありましたが、テキスト系のデータの場合、単に変なコントロールコードが入ってるだけだったり、漢字コードが違ってるだけだったりといった「フィルタを通してやればあっさりコンバートできる」ケースが多かったので、データに応じてフィルタをプログラムして処理しては小遣いを稼いでたんです。
また依頼の中には「このスペースで区切られてるデータをカンマ区切りに変えて欲しい」とか「データの隙間に余分なスペースがいっぱい入ってるから、全部スペース一つに揃えて欲しい」といったような「‥‥エディタで読み込んで置換かけたら一発なんですけど‥‥」(当時DOSでメジャーなエディタだったMifesはちゃんと正規表現をサポートしてた)といったような依頼も多くなかなか良いアルバイトでした。(いかん‥‥、ボッタクリの暴露になった‥‥)
とそんな感じに「ごついコンバートはCでフィルタを書く。簡単なコンバートはエディタで片づける」といった基本パターンができてたものの、ちょうどその中間にあたるような依頼が来た場合「エディタでやるには複雑すぎて面倒。かと言ってCで書くほどおおげさじゃない」というどっちつかずの状況になるわけなんですが、そんなときにお世話になったのがQuickBasicやsedやawkでした。
QuickBasicは後のVisualBasic(VB)につながるMS製のBasicで、それまでのBasicにCのエッセンスをふりかけたような言語で、処理速度はCには全然かなわないものの、コンパイルしなくてもインタプリタとしても動かせるあたりが中途半端な目的にぴったりの言語でした。
sedやawkはいまだに根強いファンを持ち続けるUNIXのツールですが、そのころすでにDOS用にもGNU版が出回っててテキスト処理には大変お世話になりました。
うぅ‥‥もうちょっとでPerlにたどり着くけど、長くなりすぎたから今日はここまでにしよぉ‥‥。
では、また。