科学&テクノロジー

COBOL はプログラミング言語のアスベストです

3月 16, 2026 / nipponese

1773699175
2026-03-16 11:00:00

早い段階で 新型コロナウイルス感染症のパンデミックにより、ニュージャージー州知事は、COBOL 開発者が不足するだろうと異例の告白をした。同州の失業保険システムは 60 年前のプログラミング言語で書かれており、数十万件の請求を処理するには更新する必要がありました。問題は、その方法を知っている州職員がほとんどいなかったことです。そして危機はニュージャージー州だけに留まらず、こうした扱いにくいシステムに依存していた多くの州のうちのひとつにすぎなかった。大まかに計算してみると、COBOL の非効率性が米国の GDP に悪影響を及ぼします。 2020年には1,050億ドル

この後、ニュージャージー州はシステムを置き換えるだろうし、Covid は COBOL の最後の息吹だったのではないかと思うかもしれません。完全ではありません。州の新しい失業制度には多くの生活の質の改善が伴いましたが、バックエンドでは依然として古代言語を実行するメインフレームによって可能でした。

COBOL は Common Business-Oriented Language の略で、歴史上最も広く採用されているコンピュータ言語です。 2000 年までに書かれた 3,000 億行のコードのうち、80 パーセントは COBOL で作られていました。これは今でも広く使用されており、自動車記録や失業保険などの多数の政府システムをサポートしています。いつでも、次のオーダーで何かを処理できます。 3兆ドル相当 金融取引のこと。私は COBOL をデジタル アスベストの一種だと考えています。かつてはほぼどこにでも存在していましたが、現在では除去するのが信じられないほど危険なほど困難です。

COBOL は、1959 年に米国のコンピュータ業界のほとんど (グレース ホッパーを含む) で構成される委員会によって初めて提案されました。プログラミング費用という増大する問題を解決するために、「自動デジタルコンピュータ用の共通ビジネス言語の仕様」を求めた。プログラムは特定のマシン用にカスタムで作成されており、それを別のマシンで実行したい場合は、ほぼ完全に書き直す必要がありました。委員会は国防総省に打診し、国防総省はこのプロジェクトを喜んで受け入れた。

COBOL の設計は、当時も現在も他の言語とは一線を画しています。これは、プログラマーでなくても誰でも使用できるように、平易な英語で書かれることを意図していました。記号的な数学表記はかなりの議論を経て追加されました。 COBOL のほとんどのバージョンでは、書き込みを容易にするために、「is」、「then」、「to」など、数百の単語の使用が許可されています (Java では 68 語のみが許可されています)。COBOL は、1960 年代に多くの企業で希少な地位を占めていたコンピューター プログラマーに代わることを目的としているという人さえいます。彼らは、ほとんどの人がかろうじて理解できるテクノロジーの達人でした。また、COBOL の設計者は、COBOL が独自のドキュメントを生成し、データを節約できることを期待していました。開発者の時間を節約し、長期的なメンテナンスを容易にします。

しかし、読みやすいとは一体どういう意味なのでしょうか?プログラムは本や記事ではありません。これらは命令の条件付きセットです。 COBOL は 1 行のコードの複雑さを誰でも理解できるものに抽出できましたが、数千行に及ぶプログラムではその区別は崩れてしまいました。 (これはイケアの組み立てマニュアルのようなものです。どのステップも簡単ですが、どういうわけかまだまとまっていません。) さらに、COBOL には、次第に軽蔑されるようになったロジックが実装されていました。それは、プログラムのあるセクションから別のセクションに一気に移動させる無条件分岐メカニズムである GO TO ステートメントです。その結果、開発者がよく言うように、要点を逸脱した自己文書化した「スパゲッティ コード」が誕生しました。

多くのコンピューター科学者は最初から COBOL に問題を抱えていました。エドガー・ダイクストラが「COBOL の使用は精神を麻痺させる。したがって、COBOL の教えは犯罪とみなされるべきである」と言ってこれを嫌ったことは有名です。ダイクストラ氏も同様に GO TO ステートメントを嫌い、プログラムの理解がほぼ不可能になると主張した。ある程度の本当の俗物性がありました。COBOL は、退屈な問題を解決することを目的とした純粋に実用的な言語として見下されることがよくありました。

オリジナルのデザイナーの 1 人、ジャン・サメット氏は、それを別の見方で見ました。言語には、社会保障のような複雑なものを表現するという複雑な役割があるだけです。あるいは、別の擁護者が書いているように、「残念ながら、構造化 COBOL の恩恵を十分に受けたことのないプログラマによって書かれたこのようなビジネス アプリケーション プログラムが多すぎます。」優れた COBOL は確かに自己文書化されていましたが、その多くは特定のプログラマに依存していました。ランド研究所の数学者フレッド・グルーエンバーガー氏は、「COBOL はマスターの手にかかれば、美しいツールであり、非常に強力なツールです。COBOL は、どこかの下級事務員によって扱われることになるため、惨めな混乱になるでしょう。」と述べています。

#COBOL #はプログラミング言語のアスベストです