COBOLとは何ですか?なぜそれが需要があるのですか?

60年前のプログラミングCOBOLが復活しました。多くの政府システムのメインフレームはCOBOLを実行しており、需要の急増に対処するのに苦労しています。特に、ニュージャージーの失業システムの状態は、40年前のCOBOLメインフレームによって管理されています。

COVID-19に関連する失業の急増により、システムは追いつくのに苦労しています。マーフィー知事は、COBOLプログラマーを過小評価されている必要性として特定しました。

COBOLとは何ですか?

1959年、データシステム言語委員会はCOBOLを設計しました。彼らは、多くの異なるメインフレームで実行される標準的なプログラミング言語を設計したいと考えていました。

当時、多くの新しいプログラミング言語が開発されており、プログラミング言語を新しいハードウェアで実行するために翻訳するのは高額になりすぎていました。この問題の解決策は、COBOL、つまり一般的なビジネス指向の言語でした。

COBOLは、GraceHopperによって作成されたプログラミング言語FLOW-MATICに基づいていました。これは、数学表記の代わりに英語の用語をデータ処理に使用した最初のプログラミング言語でした。グレースホッパーは説明しました:

「私はかつて数学の教授でした。当時、数学が学べない生徒が一定数いることに気づきました。それから私は、ビジネスマンが私たちのコンピューターを簡単に使用できるようにする仕事を担当しました。」 (プログラミング言語の初期開発pg。29)

同様に、COBOLは英語の用語を使用し、読みやすいように設計されています。しかし、言葉が多すぎると批判する人もいます。たとえば、Cでは、次のように記述して2つの数値を追加できます。

 int result = 1 + number;

COBOLの同じコードは次のように記述されます。

 ADD 1 TO number GIVING result

Cと同様に、COBOLは手続き型プログラミング言語です。これは単に、COBOLプログラムが一連の手順に従うように設計されていることを意味します。 COBOLは自己文書化言語でもあり、使いやすさが向上します。ただし、COBOLの最もよく知られている機能は、大量のデータ処理を処理できることです。

関連:始めるために学ばなければならない5つのCプログラミングのヒント

COBOLは、特に企業、政府、および金融機関によって広く採用されるようになりました。非常に広く採用されているため、今日でも多くの場所で使用されています。

過去のCOBOLの人気にもかかわらず、この言語を知っている人はほとんどいません。今日、COBOLよりもはるかに多くの機能を備えた英語コマンドを中心としたプログラミング言語が増えています。 COBOLで新しいプログラムを作成するプログラマーはほとんどいません。その主な用途は、レガシープログラムを維持することです。

COBOLに対する批判は、プログラマーがスパゲッティコードを書く傾向があったということです。スパゲッティコードは、構造が不十分なコードの蔑称です。構造化が不十分なコードの主な原因は、GOTOコマンドでした。

前述のように、COBOLは手続き型であるため、コンピューターはコードの各行を上から下に順番に読み取ります。 GOTOコマンドを使用すると、プログラマーはプログラムに別の行にジャンプするように指示できます。 GOTOコマンドの使用が不十分な場合、COBOLコードが複雑になる可能性があります。

関連:オブジェクトのカプセル化でコードをクリーンに保つ方法

COBOLが普及していないもう1つの理由は、COBOLが大学で教えられることはめったにないことです。 COBOLは、学術コミュニティではなく、ビジネスコミュニティによって作成されました。ビジネス上の問題を解決するために設計されており、データ処理などの問題に最適化されています。学者は多くの場合、さまざまな質問に関心を持っているため、さまざまなプログラミング言語を宣伝しています。

ただし、COBOLの最大の問題の1つは、共通言語として設計されているにもかかわらず、そうではないことです。言語が進化するにつれて、多くの異なる方言が作成されました— 300個!

これにより、プログラマーはレガシーコードを理解することが困難になります。

COBOLが重要である理由

COBOLは企業や政府によって広く使用されているため、保守が必要なCOBOLシステムはまだたくさんあります。プログラムが大きく複雑であるため、レガシーコードの保守が難しいことで有名です。したがって、プログラムを維持するには、言語を深く理解しているプログラマーが必要です。

また、変更がプログラムの他の部分に影響を与えるかどうかを判断するのが難しいため、コードに変更を加えるのにも多くの時間がかかります。

たとえば、90年代に私たちは2000年問題に直面しました。多くの年の日付は、通年ではなく年の下2桁を使用してコンピューターに保存されました。そのため、1997年は97として保存されました。年が2000に変更されると、00年が有効であると認識されず、日付シーケンスに問題が発生し、多くのシステムがクラッシュする可能性があることが懸念されました。

米国政府と企業が2000年問題に対処するのに数年と1,000億ドルを要しました。レガシーシステムを変更することは可能ですが、時間がかかり、コストがかかる可能性があります。

2020年、COVID-19は新しいプログラミングの問題を引き起こしました。米国の失業システムはCOBOLで実行されており、プログラムに変更を加えることは非常に困難で費用がかかります。たとえば、議会は失業手当に基づいて失業手当を計算することで失業の急増に対応することを計画していました。ただし、計算を実装するためにプログラムを調整するには5か月かかります。

関連:コロナウイルスCOVID-19:信頼できる情報のために信頼できる15のサイト

COBOLシステムは、危機的状況に対応するのに十分な速さで変更することはできません。危機時にシステムをサポートするために必要なメンテナンスの増加を支援するためにCOBOLでトレーニングされた十分な人員がいないため、問題はさらに複雑になります。 COBOLでトレーニングされたものは、退職しているか、退職間近です。

COBOLを学ぶ場所

COBOLプログラマーの高まるニーズに対応するために、IBMは無料のCOBOLコースを作成しました。このコースは、一連のビデオ、クイズ、ラボの課題で構成されており、完了するまでに16時間かかり、最後にバッジを受け取ります。

すでに経験豊富なCOBOLプログラマーである場合、IBMはCOBOLネットワーキングフォーラムも提供しています。そこでは、経験豊富なプログラマーが、困っている組織や企業とつながることができます。

COBOLは、Pythonのような流行のプログラミング言語ではありませんが、重要な言語です。世界の多くはまだCOBOLで実行されています。プログラミング言語の学習を考えていたが、プッシュが必要な場合は、COBOLの学習を検討してください。