オフコン・汎用機で使用しているCOBOLは寿命か?

COBOLは、長くオフコンや汎用機で使用されてたプログラミング言語です。しかし、近年、情報処理技術者試験の言語からもはずされ、存在価値が低下しています。プログラミング言語としてのCOBOLの使命は、終わったのでしょうか。(2020.06.24 更新)

⇒オフコンとは

⇒汎用機(メインフレーム)とは

 

COBOLとは

COBOLは、共通事務処理用言語(Common Business Oriented Language)が正式名称の高級言語です。文系出身の社員でも扱えるよう、英語に近い記述方式を用いています。判読しやすいですが、記述に制約が多く、冗長度も高くなっています。

 

COBOLの歴史(簡易)

簡単なCOBOLの歴史です。誕生してからすでに半世紀が経過しています。

1959年 COBOL誕生

1960年 COBOL60     発表

1985年 COBOL85     発表 構造化プログラミング

2002年 COBOL2002 発表 オブジェクト指向

COBOL85 が一番多く使用されているCOBOLになります

 

COBOLの特徴など

COBOLは、汎用機・オフコンのシステムで、現在でも多く使用されています。しかしハード・ソフト環境に依存しているため、運用・開発するためには、非常に高いコストが必要になります。

COBOL85以降、構造化プログラミングを使用して作成されたプログラムは、非常に見やすい構造になっています。しかし、GOTO文を多用して、判読困難になっているスパゲッティプログラムと呼ばれるプログラムも多いと言われています。非常に古い時代に開発されたシステムや、修正を次々とほどこしてきたパッケージなどは、スパゲッティのように絡み合ったプログラム構造のまま残っているため、メンテナンスが困難になっています。

1990年代半ば以降、オープン化の流れやオブジェクト指向言語、ビジュアル開発ツールが拡大してきたため、COBOL2002 で、オブジェクト指向を採用しました。

しかし、最新技術を使用できない、最新技術のサポートが遅いため最新技術を使用できるようになるまで時間がかかるなど、問題点があります。

 

また、WINDOWSやLINUX で動作するOPEN COBOL と呼ばれるCOBOLもリリースされていますが、表向きはCOBOLですが実際にはC言語に変換したあとC言語のコンパイルを行っています。

したがって、内部変換するような言語を使用するより、C言語あるいは、他の言語を直接使用した方がメリットがあります。また、ネット上のOPEN COBOL開発の情報は少ないため、メーカーの情報のみに頼ることになり、開発は難しくなります。

 

COBOLには、すくなからず差異があります。

動作するOSによる差異

同一のメーカーの汎用機・オフコンでも、OSのバージョンが異なると差異がある

メーカー(COBOL製品)による差異

メーカーが異なる場合、下記のような差異があります

ファイル、データベースの使用方法・定義方法

画面、帳票の使用方法・定義方法

独自のCOPY展開機能(ファイル、データベース、画面、帳票)、仕様書からCOBOLコードを生成するCASEツール

 

COBOLのこれから

COBOLは、これからも使用されていくのでしょうか。

  • COBOL技術者は、2007年問題と呼ばれる 団塊の世代が定年で引退し少なくなってきています
  • オープンシステムが主になり、汎用機・オフコンの減少にともない、COBOLを使用した新規システムの開発作業は減少しています
  • COBOL技術者の主要な作業は、汎用機・オフコンで稼働しているCOBOLシステムの保守となっている
  • 新規開発が少なく保守作業が主な作業であるため、新たにCOBOLを覚える若手技術者が少なくなっている

 

まとめ

COBOLを扱う技術者は、減少していくことは間違いないようです。COBOLを使用することができる技術者がいなくなる前に、COBOL以外の言語を使用したオープンシステムに乗せ換える必要があります。

しかし、一部のメインフレーム(汎用機)では、生き残る可能性があります。クローズドな環境で動作するためウィルスに強いことと長年稼働してきた実績、安定性があるためです。ただし、システムが稼働するために必要な費用が採算に見合うでしょうか。

 

 

参考

⇒オフコンは寿命?すぐに廃止すべき3つの理由

⇒オフコンユーザが使用すべきオープンシステムの開発言語は?

 

 

※Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。

SNSでもご購読できます、E/h4>

コメントを残す

*