プログラミング言語 COBOL について調べてみました。
COBOL(コボル)とは
COBOLは、事務処理に適したプログラミング言語の一つです。
COBOL(コボル)は、1959年に事務処理用に開発されたプログラミング言語である。名前は「Common Business Oriented Language」(共通事務処理用言語)に由来する。
非理系の事務員や官吏でもプログラミングできる言語として設計されたため、自然言語である英語に近い記述をめざしたコマンド語彙や構文(シンタックス)が採用されている。特に金額計算など事務処理用に広く使われている。COBOLは自然言語(英語)に近い構文を持つため、そのソースコードは記述が冗長にはなるが、可読性が高い。本のように、部、節、段落、文という階層で記述される。人によっては関数や数式だらけの言語よりもハードルが低い。リフレクションができないなど、モダンなプログラミング言語に比べて論理制御機能は貧弱である。一方、文字列解析や文字列編集、帳票、画面編集などの事務処理機能は豊富である。
COBOLは仕様の古い言語である。ただ、言語規格は拡張が続けられていて、2002年版以降ではオブジェクト指向にも対応して部品性を向上した。現実のプロジェクトで制約となるのは、COBOLの言語機能の不足よりは、稼働プラットフォーム、業務運用あるいは保守体制である場合も多い。
COBOLは、科学技術計算向けのFORTRANに次いで国際的な標準化が行われた、初期のプログラミング言語である。過去のバージョンとの互換性を重視した国際標準規格にしたがって多くのプラットフォームでコンパイラが開発されてきたので、COBOL to COBOLのマイグレーション(プラットフォームの更新)は比較的容易である。
膨大なCOBOLプログラムおよびそれらの処理するデータが、企業や政府機関に長年開発し続けられ稼働している。ガートナー発という情報によれば、メインフレームが世界1万サイト以上あって3万8千のレガシーシステムがあり、COBOLは全プログラム約3,100億行のうちの約65%の約2,000億行あって、毎年約50億行が増えているという 。これはFORTRANとアセンブラを合わせた資産の数十億行に比べて圧倒的に多い。また、世界の商用データの約75%、商用トランザクションの80%以上(Google検索の200倍以上)である。COBOL開発者は85万人以上いるが、COBOL開発者の増加より減少がずっと速いという。
日本国内では、2004-2009年のプロジェクトデータ2,417件をまとめたIPAのレポートによると、1位のJava(25.4%)に次いでCOBOLは16.8%で2位である。
このように、誕生から半世紀たってもなお主流言語のひとつの座を占めている点で、他の初期の言語を引き離している。
COBOLの現在、古い?
COBOLは古い言語と言われます。
確かに1959年に誕生した言語であり、歴史のあるプログラミング言語です。
一方で、以下にまとめた通り、31番目に人気のあるプログラミング言語です。
1980年代から汎用機で運用されているプログラムもあり、現在もIBMの「z Systems」シリーズのメインフレームに採用されているほか、IBM以外の分散型システムにおいても広く使われています。
COBOLの特徴、利点
COBOLの特徴、利点をまとめてみました。
事務処理に特化している
事務処理専用のプログラム言語として開発されているため、事務処理に特化しています。
売り上げデータや個人成績などの一度に数万件以上という膨大な量のデータを集計することが可能です。
また、バッチ処理(データの一括処理)も行うことが出来るため、現在も重宝されています。
信頼性・保守性に優れている
COBOLは、1959年に登場してから50年以上の歴史を持ちます。
その長い歴史の中で開発されたシステムは、今現在も稼働しており、長期間にわたる信頼性・保守性に非常に優れています。
規格統一が行われている
COBOLは、あまりOSに依存しないよう考慮されているうえ、標準規格が定められています。
日本規格はJIS X3002になります。
英語に近い表記が出来る
「SPACE(1つ以上の空白が連続)」、「HIGH-VALUE(最高値)」、「LOW-VALUE(最小値)」などといった、英語らしい表現の文字列や構文が採用されています。
そのため、数字やアルゴリズムなどの知識が少なくても、構文上の約束や英語による記述さえ覚えてしまえば、COBOLでプログラムを記述出来るようになります。
COBOL プログラム、入門、基礎、初心者向けサイト
COBOLプログラムの入門、基礎、文法を初心者が学習するには、以下のサイトが適しています。
COBOLプログラミング入門
COBOLプログラミングについてはじめての方でもわかるように図解を取り入れわかりやすく解説しているCOBOL入門サイトです
COBOLの種類
プラットフォームによる違い
COBOLには「汎用COBOL」と「OPEN COBOL」の2種類があります。
一般的にいわれるCOBOLは、汎用COBOLを指します。
汎用COBOLとは
汎用COBOLは、メインフレームといわれる、従来のコンピューターより大型かつ、データ移動や集計、計算をメインとした商業的データ処理と科学技術・数値計算向けの計算を両方同時に行うことが出来るコンピューターを使用して開発を行うCOBOLのことを指します。
「IBM-COBOL」「日立COBOL」「富士通COBOL」などと言われるものが汎用COBOLになります。
OPEN COBOLとは
OPEN COBOLは、オープン環境で開発を行うCOBOLで、UNIX互換環境、移植性などのオープン標準に基づいているソフトウェアやコンピューターで開発を行います。
「OPEN COBOL」や「UNIX-COBOL」「Net COBOL(富士通)」などと呼ばれています。
汎用COBOLとOPEN COBOLの最大の違いは「C言語にコンパイルされた後にGCCにより実行ファイルが作成される」ことです。
この実行ファイルのおかげで、メインフレームなどの環境だけではなく、UNIX、Linux、Windowsなどのシステム上で開発を行うことが出来ます。
ただし、OPEN化することで使用するOSの永続性やトラブルなどといった問題も浮上してきますので、一概に全てOPEN化すれば良いとは言いにくいです。
COBOL言語仕様による違い
COBOLの言語仕様による違いは次の通りです。
ISO 1989:1985 Programming Languages
「ISO 1989:1985 Programming Languages — COBOL」
こちらは世界標準のCOBOL仕様です。
ISO 1989:1985 Programming Languages 日本ではJIS X3002
COBOLを元に各国で自国向けの標準化が行われています。
「JIS X3002」これが日本における標準COBOLの仕様です。
JIS X3002もISO 1989:1985 Programming Languages — COBOLに準拠していますが、文字セットの違いなどで【完全に同じ】とはなりません。
独自製品版COBOL
標準COBOL仕様を満足しながら独自の機能を持っています。
この仕様を満足しつつ独自機能を付加された製品が市場には無数に存在します。
COBOLソースのサンプル、読み方
COBOLのソースサンプルとしては、以下に詳しいです。
COBOL初心者のために、COBOLプログラムのサンプルを書いてみました。
COBOLソースの読み方も、このサイトを参考にするとよいでしょう。
コメント