※「セキュリティ保護のため...」というメッセージが出る方・日本語が入力できない方へ
■COBOL■
COBOLは COmmon Business Oriented Languageの略です。FORTRANがIBMと
いうひとつの企業で作られたのに対して、COBOLはCODASYLという公共的な
機関で制定されました。
COBOLは企業の経理や営業などの事務処理に使うことを目的として作られて
います。またFORTRANがどちらかというとコンビュータの動きに合わせて設
計された言語であるのに対して、COBOLは目的とする文書の形式に主眼を置
いています。また、技術計算では誤差はつきものですが、事務計算では1円
でも違いがでては困るので、全て10進整数で処理するという方式を取りまし
た。これはCOBOLの重さの原因にもなっています。
【COBOLの記述例】
IDENTIFICATION DIVISION.
PROGRAM-ID. PROG01.
AUTHOR. K-MATUO.
PROGRAM-WRITTEN. 1990-01-01.
ENVIRONMNET DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. NEC-SYSTEM3100.
OBJECT-COMPUTER. NEC-SYSTEM3100.
FILE SECTION.
FILE-CONTROL.
SELECT KOKYAKU ASSIGN TO KOKYAKU-RDB
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY KO-KEY.
SELECT PRINTF ASSIGN TO REPKO-PRN.
I-O-CONTROL.
APPLY SHARED-MODE ON KOKYAKU
APPLY SHIFT-CODE ON PRINTF.
DATA DIVISION.
FILE SECTION.
FD KOKYAKU LABEL RECORD IS STANDARD
VALUE OF IDENTIFICAIOTN IS "KOKYAKU-RDB".
01 KO-REC.
02 KO-KEY PIC 9(04).
02 KO-NAME PIC X(40).
02 KO-BIRTH.
03 KO-BIRTH-YY PIC 9(04).
03 KO-BIRTH-MM PIC 9(02).
03 KO-BIRTH-DD PIC 9(02).
02 KO-SEX PIC 9(01).
02 KO-TEL PIC X(20).
FD PRINTF LABEL RECORD IS OMITTED.
01 PR-REC PIC X(135).
WORKING-STORAGE SECTION.
01 RP-REC.
02 RP-KEY PIC Z(04).
02 FILLER PIC X(01).
02 RP-NAME PIC X(40).
02 RP-BIRTH.
03 RP-BIRTH-YY PIC Z(04).
03 FILLER PIC X(02).
03 RP-BIRTH-MM PIC Z(02).
03 FILLER PIC X(02).
03 RP-BIRTH-DD PIC Z(02).
03 FILLER PIC X(02).
02 FILLER PIC X(01).
02 RP-SEX PIC X(04).
02 FILLER PIC X(01).
02 RP-TEL PIC X(20).
01 WORK-AREA.
02 G-KEY PIC 9(04).
(中略)
PROCEDURE DIVISION.
MAIN SECTION.
MAIN-10.
OPEN INPUT KOKYAKU
OUTPUT PRINTF.
MAIN-20.
READ KOKYAKU
AT END
GO TO MAIN-90.
MOVE SPACE TO RP-REC.
MOVE KO-KEY TO RP-KEY.
MOVE KO-NAME TO RP-NAME.
MOVE "....年..月..日" TO RP-BIRTH.
MOVE KO-BIRTH-YY TO RP-BIRTH-YY.
MOVE KO-BIRTH-MM TO RP-BIRTH-MM.
MOVE KO-BIRTH-DD TO RP-BIRTH-DD.
IF KO-SEX = 1
MOVE "男性" TO RP-SEX
ELSE IF KO-SEX = 2
MOVE "女性" TO RP-SEX
ELSE
MOVE KO-SEX TO RP-SEX.
MOVE KO-TEL TO RP-TEL.
WRITE PR-REC FROM RP-REC BEFORE 1.
GO TO MAIN-20.
MAIN-90.
MOVE SPACE TO PR-REC.
WRITE PR-REC BEFORE PAGE.
CLOSE KOKYAKU PRINTF.
STOP RUN.
COBOLの最大の特徴は構造化したデータを記述できることでした。このため
報告書のフォーマットをこの構造により記述して、まとめて取り扱うことが
できたのです。ここが事務処理をする時にFORTRANに対して誇れるもう一つ
のものでした。
COBOLは企業の事務処理システムに深く浸透し、1960年代後半から1980年代
にかけて作られた企業システムの恐らく3〜4割がCOBOLで構築されたので
はないかと思われます。
当初は「報告書作成」機能がずいぶん強調されたのですが、実際には単純
な報告書を作るだけでしたら、IBMが作成したRPGの方が簡単に組めて
多数動いているものと思われます。そういう意味ではCOBOLの報告書作成
機能は中途半端で使い物になりません。その他各メーカーとも同様の簡易
報告書作成ソフトを開発して提供していました。
1990年代以降、COBOLもその主役の座を降りることになりますが、それは
COBOLが時代に合わなくなってきたためではなく、COBOLが得意とする事務
処理という分野で、データベース・ソフトや事務処理パッケージなどが
十分な機能を持ち、わざわざプログラムを組む必要がなくなったためです。
そのため、日本では1990〜1996年頃、多くのCOBOL専門のソフトハウスが
経営危機に陥っていきます。