コボラーに送るエッセー

COBOLはCOmmon Business Oriented Languageの略で 特に経理システム(*1)経営戦略システム(*2)まで含むビジネス計算の世界では現在でも非常によく(多分最も)使われている言語です。
昔、アメリカでプログラマーの不足が叫ばれる中(今ではプログラマーの生産性の向上が叫ばれてますね)で英語が分かれば理解出来る言語として開発され、ソースプログラムのドキュメント能力が優れているため当時はプログラム仕様書レベルのドキュメントの作成が必要ないとさえ言われました。
時代は進み構造化プログラミング(*3)が流行るとそれまでのピリオドやNEXT SENTENCEで制御していたIF文のネスト等をIF END-IFやEVALUATE WHEN END-EVALUATE等が使用出来るよう拡張され構造化プログラミングに対応した言語へと進化しました。
またCOBOLの日本語化(*4)もいろいろなところで開発されてきました。
現在はオブジェクト指向(*5)にさえ対応し始め、まだまだCOBOLは進化しているようです。
COBOLが進化し続けるのは言語が良いからというよりもユーズがあるからだと思われます。
ここで独断と偏見をもってCOBOLの利点と欠点を羅列してみましょう。

COBOLの利点

  1. 例えばプログラマーを100人集めなければならないプロジェクトがあったとするとC言語のプログラマーを集めるのは大変です。COBOLの経験者ならば、いくらでも集められます。(ここでCOBOLのプログラマーではなく経験者であるところがポイントです、本当にCOBOLに詳しい人は意外に少ないものです、それでもプログラムが書けてしまうのがCOBOLの良いところでもあります。)
  2. C言語はポインター操作など一見分かりにくいプログラムを作成することも出来ますが、COBOLでは一般にはポインター操作が扱えないため個人差の少ないプログラムが作成されます。
  3. いままでの莫大な量のプログラムなどの資産が使用出来る
  4. プログラムの作成に関して標準化などの資産も既にあり他の言語を使用するのに比べ初期投資が少ない
  5. COBOLのコンパイラーは安定していてバグが極めて少ない。

COBOLの欠点

  1. ポインター操作が出来ない(最近は一部出来るものもありますが)
  2. 再帰が出来ない
  3. OSに近い部分のコントロールが出来ない
  4. COBOLを使っているのは格好悪い

まだ他にもあると思いますが利点を見てみると保守的な言語であると言えるかも知れません。

ここで、開発する言語を選ぶ際に最も重要な事は安定したシステムをいかに早く、少ない予算で開発出来るかということだと思います、 するとCOBOLは開発者が集めやすいまた既存の資源が使用出来るという意味である程度の開発規模がある場合は現在でもとても有効な言語の一つであると思います。


*1)経理システム:最も古くからある代表的なビジネス計算、ソフト開発の生産性を上げるためにいろいろなパッケージソフトが開発されているが古くからある大企業はソフトのために昔から行っている経理の方法を変えたくないためカスタムメードのソフトを好む。

*2)経営戦略システム:名前は格好良いけれども大抵は売り上げや営業利益を地域ごと組織ごとまたは商品ごとなどにまとめて作表したり画面から見れるようにする程度のことが多い、ちょっと前からはEUCで綺麗に表が作れるようになって来たのでデータの提供のみをデータベースにて求められるようになってきた。 その資料を使って部長等が役員会議などで使用する資料を作成する。 システムが完成した頃には必要がなくなっていることも多い。

*3)構造化プログラミング(ストラクチャープログラミング):goto文は使用せずにプログラムをブロック単位で作成していきそのブロックを組み合わせることでプログラムを作成しプログラムを見やすくする手法、逆に構造化プログラミングでないプログラムはロジックをあっちこっちに飛んでいる順番に追わなければ理解できないためスパゲッティープログラムと言う。

*4)COBOLの日本語化:随分と前からいろいろなメーカーが開発してきてますが、私の知っている限りでは変数名を日本語で表現出来るレベルぐらいまでで IF CNT OF KOKYAKU > 100を IF 顧客の人数 > 100 と表現出来る程度の物が多いようです、将来的には用語を定義したデータベース(例えば種別01というコードは会社員であると登録しておく)と組み合わせてIF SYUBETSU OF KOKYAKU = 01 を 顧客の種別が会社員なら と表現出来るようになって欲しいものです。

*5)オブジェクトCOBOL:こちらを参考にして下さい。


ホームページに戻る