T1#standard#military
COBOL 仕様策定

メタデータ
- 日付
- 年代
- 1950s
- Tier
- T1
- 参照年表
- プログラミング言語の歴史
- 出典数
- 07
- 関連項目
- 02
- Tags
- #standard#military
COBOL(COmmon Business Oriented Language、事務処理向け共通言語)は、給与・在庫・会計といった事務のデータ処理を、機種を問わず英語に近い文で書くために作られたプログラミング言語である。1959年5月28〜29日 に米国防総省(ペンタゴン)で開かれた会議が出発点で、計算機メーカー6社と政府3機関の代表からなる 短期委員会(Short Range Committee)が仕様を作った。最終版の報告は 1959年12月17日 に執行委員会へ配布され、1960年1月7〜8日に承認、同年4月に国防総省から刊行された。この会議の流れを汲む組織が CODASYL(Conference on Data Systems Languages)である。
「COBOL を作ったのは誰か」という問いには、よく Grace Hopper の名が挙がる。だが1960年の仕様書と、設計に加わった Jean Sammet の証言から見える姿はもう少し複雑である。この記事は仕様書そのものを主な拠り所に、その半年あまりを追う。
| 日付 | 出来事 |
|---|---|
| 1959年5月28〜29日 | ペンタゴンで会議。共通の事務処理言語は望ましく実現可能だとほぼ全会一致で合意 |
| 1959年6月23日 | 短期委員会の初会合 |
| 1959年8月 | 全体会合を2度開き、執行委員会向けの報告を準備 |
| 1959年9月 | 執行委員会に報告。12月までの仕上げを認められる |
| 1959年9月18日〜11月7日 | 委員会の会合で言語を詰め、COBOL の名を採用 |
| 1959年11月16〜20日の週 | 短期委員会が COBOL を承認 |
| 1959年12月17日 | 最終編集を終え、執行委員会へ配布 |
| 1960年1月7〜8日 | 執行委員会が承認 |
| 1960年4月 | 国防総省が仕様書を刊行 |
ペンタゴンの会議
仕様書の序章によれば、1959年5月28〜29日の会議は、事務型のデータ処理で計算機をプログラムするための共通言語を作ることが望ましいか、そして今それが可能か、を検討するために開かれた。利用者、政府の施設、計算機メーカーなどの代表が集まり、ほぼ全員がどちらにも賛成した。会議は時間軸の違う三つの委員会 ── 短期・中期・長期 ── を置くことを決めた。
序章が挙げる動機は実務的である。異なるメーカーの計算機を持つ利用者は、データ処理の仕組みをある機種から別の機種へ移す必要に迫られている。経営の要求は変わり続けるので、仕組みは絶えず改訂される。短期間に大量のプログラムを、経験の浅いプログラマーで書かなければならない。どの機種にも依存せず、英語で書け、拡張可能な共通言語があれば、こうした問題はかなり軽くなる、というのである。
短期委員会
短期委員会はメーカー6社と政府3機関の代表で構成され、1959年6月23日に初会合を開いた。仕様書は、時期は違っても委員会の作業に加わった組織として次の名を挙げている。
| 区分 | 組織 |
|---|---|
| 計算機メーカー | Burroughs(ElectroData 部門)、IBM、Minneapolis-Honeywell(Datamatic 部門)、RCA、Sperry Rand(Remington Rand 部門)、Sylvania Electric Products |
| 政府機関 | 米空軍の Air Materiel Command、商務省の National Bureau of Standards、海軍の David Taylor Model Basin |
| その他 | Computer Science Corporation |
委員会はまずデータ記述、手続き文、応用調査、利用経験の4つの作業班に分かれた。9月に出した最初の報告について、委員会自身が粗い部分があり追加が必要だと認め、12月までに仕上げる許可を求めている。
言語の中核を急いで固めたのは、6人の小委員会だった。そのうちの一人、Sylvania の Jean Sammet の死亡記事(ニューヨーク・タイムズ配信)によれば、6人はニューヨークの Sherry-Netherland ホテルにこもり、2週間ほぼ昼夜を問わず作業して言語の多くを設計した。その提案は11月に示され、ほとんど変更なく受け入れられたという。Computer History Museum には、1960年の日付を持つ「COBOL」の墓石が収蔵されている。委員会の進み具合に業を煮やしたメンバーが国防総省の Charles Phillips に送ったとされる品で、Phillips 自身が寄贈した。
3つの部(division)と英語
仕様書は、COBOL のプログラムを3つの部に分けた。事務処理の問題を記述するには、データをどう処理するかという手続きと、扱うデータの記述が要る。さらに、使う計算機についての情報も問題記述の一部として欠かせない。この三つが、機種間の互換性が高い順に次の部になった。
| 部 | 書くこと | 機種への依存 |
|---|---|---|
| PROCEDURE DIVISION | データをどう処理するかの手順。英語の語・文・段落で書く | ほぼ依存しない |
| DATA DIVISION | ファイルとレコードの記述 | 中程度 |
| ENVIRONMENT DIVISION | 使う計算機と入出力装置 | 機種ごとに異なる |
仕様書は、利用者が自分に最も自然な言語、つまり英語で問題の解き方を書けるようにすると述べている。「共通」という語は、原始プログラムが計算機間で互換であることと解釈されたが、記憶容量や周辺装置や命令体系の違いがある以上、完全な互換は不可能だとも認めている。そのため委員会は、最低限の Basic COBOL から理想的な Extended COBOL まで段階(phasing)を設ける考え方を示し、表の処理や帳票作成、整列・併合などは早く追加すべき機能として列挙した。
3つの着想の源と Grace Hopper
仕様書の帰属の節は、着想と情報を多くの源から得たとし、とくに三つを挙げている。
| 名称 | 開発元 |
|---|---|
| FLOW-MATIC | Sperry Rand |
| Commercial Translator | IBM |
| AIMACO | 空軍の Air Materiel Command と Sperry Rand の共同開発 |
FLOW-MATIC は Grace Hopper が率いた Remington Rand Univac の自動プログラミングの系譜から生まれた言語である(その前史は Hopper の A-0 コンパイラ にある)。COBOL の名が Hopper と結びつけて語られるのはこのためで、COBOL の母と呼ばれることも多い。しかし Hopper は、言語を設計した6人の一員ではなかった。Sammet はそのことを機会あるごとに指摘し、Grace を誰よりも尊敬していると前置きしたうえで、「she was not the mother, creator or developer of Cobol」と語っている。
その後
仕様書は、言語は使われながら変わり続けるべきものだと書き、保守のための技術委員会と保守委員会を置く仕組みを1960年2月12日の執行委員会で決めた。Wikipedia によれば、1960年12月6〜7日には、ほぼ同じ COBOL プログラムが RCA と Remington Rand Univac の計算機の両方で動き、互換性が実証された。規格としては、1968年8月の米国規格 X3.23 を経て、改訂が重ねられている。
2022年2月、Micro Focus は、同社が委託し調査会社 Vanson Bourne が行った調査の結果として、本番環境で日々稼働している COBOL のコードは8000億行を超えると発表した。仕様策定から65年以上たった今も、COBOL は金融や行政の基幹系で動き続けている。
同時代の言語との位置関係は プログラミング言語の年表 に、科学技術計算のための先行言語は FORTRAN に、IBM の側からの関わりは IBM にある。
よくある質問
- COBOL はいつ、誰が作ったのですか。
- 1959年5月28〜29日にペンタゴンで開かれた会議を受けて、計算機メーカー6社と政府3機関の代表からなる短期委員会が作りました。仕様は1959年12月17日に執行委員会へ配布され、1960年1月7〜8日に承認、同年4月に国防総省が刊行しています。言語の設計の中心は、Jean Sammet を含む6人の小委員会でした。
- COBOL を作ったのは Grace Hopper ですか。
- いいえ。Hopper は言語を設計した6人の一員ではありません。そのうちの一人 Jean Sammet は、Hopper を深く尊敬しつつも、COBOL の母でも作者でも開発者でもないと述べています。ただし仕様書が着想の源として挙げる三つの言語のうち FLOW-MATIC は、Hopper のもとで作られたものです。
- COBOL という名前は何の略ですか。
- COmmon Business Oriented Language(事務処理向け共通言語)の略です。名前は1959年9月から11月にかけての委員会の会合で採用されました。
- COBOL は今も使われていますか。
- 使われています。2022年に Micro Focus が委託し Vanson Bourne が行った調査は、本番環境で日々稼働している COBOL のコードを8000億行超と推計しました。
出典
ペンタゴンの会議、委員会の構成と日程、COBOL の名の採用、12月17日の配布、1960年1月の承認、三つの着想の源、参加組織
6人による設計、Sherry-Netherland ホテルでの2週間、Hopper についての Sammet の発言
最終更新: