今日の雑記

生きることでいっぱいいっぱい

ボクと COBOL

Zinnia にいさんが以前「COBOL について知りたい」的なことを書いていて、ボクの短い(本当に短い)COBOL 歴を思い出したので、その話を書いてみる。
驚くべきことに、ボクが COBOLプログラミング言語としては2番目に覚えた。ちなみに最初に覚えたのは BASIC。
学生時代は「BASIC」一辺倒で、アセンブラなんか手元に無かったし(あっても覚える気があったかどうか)マシン語なんてとんでもございませんな感じだった。
その後高校を卒業し、最初に行った会社(ビジネスソフトとかを開発する会社)に入社したのが1991年。その時の社員研修で勉強したのが「COBOL」だった。
当時はまだまだ COBOL が活躍する場面(というか仕事)が多くて、その会社も受注している仕事の大半が COBOL 系だった。
COBOL に触れた最初の印象は「なんだ帳票出力するしか能が無いのか」と今となっては大変失礼なものだったのだが、言語仕様とか(あくまで勉強した範囲内で)はその分コンパクトでわかりやすいな、とも思った。
研修は3ヶ月あったんだけど、1ヵ月ほどで予定していた内容を消化してしまい、その後は先輩と一緒に「教える側(とは言ってもボクは相談されたら答える程度)」に回り、空いた時間は先輩の仕事の手伝いをしていた。
結局、ボクは研修終了後 COBOL とはまったく無縁の(SI 課と呼ばれる今口にするとちょっと恥ずかしい名前のw)部署に配属され、以後 COBOL を触ることなく3年ほどその会社に在籍した。
この文を書くにあたり WikipediaCOBOL の記事を読んでみたんだが、そこに書かれている、

記述が冗長なのは自然言語(英語)に近いためであり、ソースコードのステップ数は多いが可読性は高くプラットフォーム依存性は低いため、特定箇所の修正や影響の確認などの保守作業は比較的容易である。

というのは全く持ってその通りだなあと今では思う。当時も思っていたが、当時と今では全く逆の考えで、「昔:ださい」「今:ちょっと勉強すれば比較的誰でも使えるのでよい」という感じか。実際、当時(1991年)の同期の人間で「プログラム」はおろか「コンピュータ」をまともに触っていたのはボクともう一人くらいしかいなかったのだが(同期は10数人)、3ヶ月の研修が終えた後、みなそれぞれの(主に COBOL 業務の)部署に配属されていったが、「COBOL ができない」という話は聞いたことがない。単に「聞いてない」だけだったかもしれないが、少なくとも同期の中で最初に会社を辞めたのがボクだという事実一点で、「仕事ができないから会社を辞めた」人間がいなかったと言うことになるので、そういうことなんだろうなと今でも思っている。
それと海外ではどうなのかはわからないけど、日本では、ここ数年(10年?) COBOL に対する風当たりは強いなあというのは、たまに見かける「COBOL 叩き」的な文章を読んで感じているが、それはいったい何故なんだろうか?
「言語仕様的に古い」のはまあそれそうなんだろう。実際歴史的に見ても古いし。でも「古い」一点だけを持って「ダメだ」というのは言い過ぎなんじゃないの?と思う。
「今ならこの手の奴は EXCEL でできる」という意見に対しても、新しく構築するシステムだったらそうすればいいじゃない的な話で、別に「新しいシステムにも COBOL 使え」とは誰も言ってないと思うし。
↑にもあるような「記述が冗長」の話に関しても、じゃあ「Java とかどないやねん」という話で、今のような贅沢な環境なら「記述の冗長性」なんてとるに足らない問題だと思う。どうせコピペする(できる)んでしょうし。
なんか「COBOL 叩き」の裏には「古臭い言語仕様の言語を今更覚えて使わされるのなんてカコワルイ!」的なプライドが見え隠れして、ボクとしては気分が悪いというか吐き気がする。20代くらいの若い人がそういう感覚を持つことは正しいんだけど、ボクと同じくらいのころからコンピュータで仕事してきた人間が言っているのを見ると、さっきのような感覚を覚えてしまう。
今でも COBOL が必要な仕事はあるだろうし、それが(今となっては、という状況も含めて)他に変えられないという事情もあるだろう。そういう状況も含めて COBOL は今後も生き続けていくんだろうなあと思う。だから、DIS るのは勝手だが DIS ったところで何も生まれないよ?そうするくらいなら他の建設的な道を模索したほうが良いんじゃね?と思わずにいられません。
以上、「ボクと COBOL の今昔と今後(え?今後?)」を書いてみました。最後にはタイトル変わってるし。