1960年代前半から多くのメーカーが競ってCOBOLコンパイラを開発した.1960年代後半には企業システムや政府・公共団体のシステムの大部分はCOBOLで記述されるようになり,科学技術計算のFortranと事務計算(これらの言葉も懐かしい言葉になった)のCOBOLがプログラム言語の双璧となった.その後もCOBOLはほとんどのユーザに使われ広く普及した.日本の大手企業が現在保有するCOBOLプログラム資産は1000万行から1億行といわれており,2000年問題の見直しプログラムの大部分もCOBOLだったことは記憶に新しい.
この40年間の世界のCOBOLプログラマは総計600万人で,うち300万人が現役プログラマである.これに続くのはVisual BASICとC/C++で,いずれも100万人台であり,その他の言語は100万人をはるかに下まわっている.日本のプログラマ数は世界の約1/6と見なせばよい.
現在のプログラム開発量の双璧はCOBOLとVisual BASICであり,それぞれ世界で35%を占める.COBOLはサーバでアプリケーションロジック記述に使われ,Visual Basicはクライアント(PC)でGUIなどの画面処理に使われている.日本のアカデミアや出版界などでは,COBOLは使っている人がまだいるのかとか,COBOLはすでに化石の言語になったとかの発言をみかけるが,あまりにも情報処理の現場の実情を知らなすぎる.次代の日本の若手技術者をミスリードしないように,現場の実情を理解いただきたいとお願いしたい.
なお,日本のほとんどの大学で教えているC言語は,もともとシステム記述用言語という性格から,スキルの高い人でないかぎり信頼性や生産性に問題があり,一般の企業システムには不向きである.プロのSEはいかにC言語を使わないでシステムを仕上げるかが腕の見せどころである.C++はJavaの登場で近ごろ普及が頭打ちになってきた.COBOLを超えるだろうと近ごろ脚光を浴びているJavaは,プログラマの絶対数不足で開発ニーズに応えられず,その開発方法論(オブジェクト指向分析・設計)は企業システムに適用するのが難しいという問題をかかえている.
筆者(今城)の仕事の中で近ごろ増えたことの1つは,Javaの企業アプリケーションでの本格的適用である.筆者の理解では,Javaの本質が最も適するのは組み込みマイコン分野であり,企業システムのすべての分野でJavaを全面的に使うには長い時間と多大な努力が必要である.COBOLよりもJavaの方が得意な企業システムの分野を特定し,そこでSEとプログラマの腕を磨かせるのが当面の課題である.大胆に予測すれば,JavaでCOBOLの分野を全面的に凌駕する確率は2割であり,それに果敢に挑戦しても,過去にPL/I,ADA,BASICなどが敗退していったのと同じ過ちを冒す可能性が強い.
図1に,COBOL,C/C++およびJavaの年代別の発展状況を示す.この縦軸は,プログラマ数あるいはプログラム開発量と解釈することも可能である.
<図1>プログラム言語の成熟度