現代の世界は古代のコードに基づいて構築されています。 それは問題だ

古代のコーディング言語
ジュヌヴィエーブ・ポブラノ/デジタル トレンド

「いったいどうやって文字通り COBOL プログラマーが必要だということになったのでしょうか?」 ニュージャージー州知事フィル・マーフィーは最近の記者会見でこう尋ねた。

コンテンツ

  • フォートラン
  • エイダ
  • パスカル
  • BASIC / ビジュアルベーシック
  • コボル

前例のない数の事態に直面して、 失業 申請が増えると、州は 40 年間続いた失業保険申請プラットフォームを直ちに拡張する必要があり、全面的に見直しを行う必要がありました。 これにより、数十年前のコーディング言語に精通したプログラマーの必死の捜索が即座に始まりました。 コボル。

おすすめ動画

ただし、この問題を抱えているのはニュージャージー州だけではありません。 世界の銀行、防衛、人工知能システムの多くは、Apple がガレージを使い果たした頃に流行していたプログラミング言語を使用しています。

テクノロジー業界は新しいものや最先端の​​ものに親近感を持っていますが、COBOL のような古代のコーディング言語がなかったら、 エイダ、パスカル、フォートラン、クレジット業界、科学研究機関、そして数多くの防衛システムが金切り声を上げてしまうだろう。 停止します。 言い換えれば、この古いコードがなければ、私たちは台無しになってしまうでしょう。

50 年前のプログラミング言語は今でも何百万ものトランザクションと統計を計算し、現代世界が依存するシステムのバックボーンとして機能しています。 たとえば、2017 年の調査によると、ATM の 95 パーセント以上、銀行の 40 パーセント以上が COBOL コードを使用しています。 ロイター通信の報道.

これらの古いタブレータのいくつかは、今でも特定の機能を非常にうまく実行します。 また、企業経営者の中には、企業にとって不可欠な実績あるソフトウェアを分解したくないと考えている人もたくさんいます。 彼らは会社のビジネスを全面的に見直して最新化するのではなく、単に古いコードにパッチを当てて、 最高。

古代のテクノロジーと格闘することは新しい現象ではありません。 例えば、 カリフォルニア は、DMV と給与計算テクノロジーを更新するために数億ドルを費やしました。 しかし、現在のパンデミックとそれに伴う失業の波は、アメリカのソフトウェアインフラストラクチャが物理インフラと同様にどれほど崩壊しつつあるかを浮き彫りにしました。

ここでは、私たちの世界があなたが思っている以上に依存している 5 つの「ビンテージ」言語と、それがあなたを少し不安にさせる理由を紹介します。

フォートラン

Fortranマニュアルカバー

Fortran がなかったら、天気予報、天体物理学、高レベルの統計分析などに使用されているスーパーコンピューターやモデルの多くは、まったく機能しなかったでしょう。

1950 年代に IBM によって構築された Fortran (Formula Translation の略) は、 数値の代わりに単語を使用することで、コーダーは機械を使用する場合よりも 500% 速くプログラムを作成できるようになりました。 コード。 現在、この言語を学ぶ開発者はそれほど多くありません。

「私はいつも Fortran を使っていますが、それについて考えたことはありません」とジョンズ・ホプキンス大学応用物理研究所のデータ サイエンティストである James Howard は言います。 ハワード氏は何年もこの言語でプログラミングをしていませんが、彼のアプリケーションは定期的に Fortran のコア ライブラリにアクセスしています。 70 年代初頭に作られたもので、手入れが行き届いており、「目がくらむほど速い」。

ハワードが最後に Fortran プログラムを書かなければならなかったのは約 10 年前でした。 彼は連邦準備制度で働いており、2 つのアプリ間でデータを移動する必要がありました。 1 つは C で書かれ、もう 1 つは Fortran で書かれています。 ベンダーが Fortran ライブラリの提供を停止したため、プログラムは通信を停止しました。

40 代のプログラマーは、子供の頃に読んだことを思い出しました。C プログラミング言語のデータ呼び出し構造は Fortran の構造とは逆だということです。 彼は命令をひっくり返すための簡単なスクリプトを書きました、そして、出来上がり、連邦準備制度は業務を再開しました。

フォートラン・パンチャード

エイダ

政府のプログラマーは、防衛システムや安全システムなど、信頼性が求められるシステムを開発する際に、比較的知られていない Ada コードベースに依存しています。 いったい何がプログラムされているのでしょうか? そうですね、これはちょっとした政府秘密ですが、NASA とボーイングはどちらも近年、人工衛星や飛行機のプログラムに Ada ベースのコードを採用しています。

国防総省 (DOD) は、当時 400 を超えていた軍で使用されるプログラミング言語の数を減らすために、1970 年代に Ada の開発を監督しました。 Ada は、生死に関わる状況において間違いなく信頼できるように構築されており、プログラマのエラーに対して強化されています。 この言語は 1980 年に提供されましたが、議会は 1995 年まですべての政府システムでの使用を義務付けませんでした。 2 年後、国防総省は、広く利用可能な最新のシステムを使用する方が安価で柔軟であると考え、この義務を放棄しました。 しかし、それは今日でも使用されています。

パスカル

パスカルポスター
80 年代初頭、Apple Pascal のポスターは会社のオフィスのいたるところに貼られ、プログラマーにコードの使用方法についての洞察を与えました。

多くのプログラマーは、Pascal はほぼ消滅したプログラミング言語だと考えていますが、いくつかの点で生き続けています。 「信じられないかもしれませんが、この言語は世界の多くの地域で今でも非常に人気のある言語ですが、米国ではそうかもしれません。 ラテン語を話せれば大丈夫です」と、大手保険会社で 3 年間、保険制度の更新に携わったデイブ・ハッター氏は言います。 どのような保険にかかる費用とその支払額を見積もる数百万行のコード。

これらの古いプログラムの多くは、今日のセキュリティ侵害が懸念されるずっと前に作成されており、機密の機密情報が含まれています。 現在サイバーセキュリティ技術者として働いているハッター氏は、「隠蔽によるセキュリティ」という理由だけでプログラムは比較的安全かもしれないと考えている。若いプログラマーは何十年も前のコードをどうすればよいのか分からないのだ。 「15 歳のハッカーには、IBM 390 メインフレームを COBOL で操作する方法などまったくわからないでしょう」と彼は言います。 「彼らが学ぶことができなかったと言っているわけではありません。 しかし、彼らはそれを知ることはないだろう。」

Pascal は初期の Apple オペレーティング システムの基礎であり、その言語の子孫である Delphi には今でも強力な支持者がいます。 実際、Skype (広く普及して使用されるようになった最初のビデオ通話アプリケーションの 1 つ) は、もともと Delphi で書かれました。

BASIC / ビジュアルベーシック

BASIC は、2020 年に人々が使用する言語のリストの最上位にあるわけではありませんが、私たちが依存している最新のアプリケーションの多くは、BASIC なしでは存在できません。 たとえば、Excel マクロをプログラムしたことがある場合は、BASIC の形式を使用したことがあるでしょう。

BASIC は、Beginner's All-Purpose Symbolic Educational Code の略で、1963 年にダートマス大学で、 一般聴衆向けにプログラミングの理論と機能を説明します。 フォートラン。 BASIC の人気はパーソナル コンピュータとともに高まりました。Apple、IBM、Atari コンピュータにはそれぞれそれぞれのバージョンがありました。

1980 年代半ばまでに、独学でコンピュータを勉強したオタクたちは BASIC についてあまり興味を持たなくなり、サードパーティのプログラムに興味を持つようになりました。 その後、Microsoft は 1991 年に Visual Basic を発表しました。これは、正確には BASIC のアップデートではありませんでしたが、同じコマンドと構造をいくつか使用し、より優れたグラフィック インターフェイスを備えていました。 その後、この言語は大小さまざまなプログラムを作成するために多くの企業で利用されました。 Microsoft は 2008 年に Visual Basic 6 (最新バージョン) のサポートを終了したと発表しましたが、この言語には依然として多くのユーザーがいます。 チェックしてください ティオベ指数 (最も人気のあるプログラミング言語をグラフ化しています): VB は依然としてトップ 10 内にあります。

コボル

コボルポスター
MIT COBOL クラスを宣伝する 1969 年のポスター。

「私たちが会う人の 90% 以上が、自分が書いたものの中心部分として COBOL を持っていると思います」と、レガシー アプリの更新と移行を行っている Brandon Edenfield 氏は推定します。 最新のシステム そして、ニューヨークとシンガポールの証券取引所のコードの改訂に貢献しました。 「思いつく限りの大手企業はおそらく、不健全な量のこのようなものを抱えているでしょう。」

Common Business-Oriented Language の頭字語である COBOL は、予算追跡、銀行取引、給与計算などのデータ処理タスクを対象として 1959 年に発売されました。 国防総省 (DOD) は当初、一時しのぎのプロジェクトとしてこの言語を設計しました。 その後、国防総省はコンピュータ メーカーに対し、販売するマシンに COBOL を組み込むことを要求し、この言語はその後数十年にわたって急速に普及しました。 2017 年の調査によると、ATM の 95% 以上、銀行の 40% 以上が依然として COBOL コードを使用しています。 ロイター通信の報道.

このプログラミングの多くはメインフレーム コンピューターを通じて展開され、最新のシステムはクラウドに移行しました。 ニュージャージー州の苦境が示すように、COBOL コードの保守方法を知っていた開発者は高齢化し、すでに退職している。

これらのプログラムを最新化する企業は通常、いくつかの異なる方法でそれを行います。

「大手システムインテグレーターはコードに大量の本体を投入します。 彼らは座ってそれを見て、書き直すでしょう」とエデンフィールドは言います。 このアプローチは多くの場合、最もリスクが高く、時間とコストがかかります。 手作業でコーディングされた大規模なプラットフォーム変更作業には平均して 3 ~ 10 年かかり、数億ドルの費用がかかる場合があります。

エデンフィールド氏は自動化されたソリューションを推奨しており、論理的な最初のステップは単にコードを移動することかもしれないと述べています。 COBOL の古いバージョンを現在のバージョンに変更すると、多くのシステムが最新のバージョンに移行できるようになります。 サーバー。 彼は、機械のアップデートをフランス語から英語への翻訳に例えています。「話されている内容の基礎は完璧に翻訳されます。 表現方法の構文を修正する必要があるだけです。」 このアプローチにより、更新にかかる時間とコストも 6 ~ 24 か月程度削減できると同氏は言います。

安くなるでしょうか? まあ、安くなりますよ。 Modern Systems プロジェクトの価格は通常、20 万ドルから 1,000 万ドルの範囲です。 エデンフィールド氏によると、プロジェクトの大部分はコードの翻訳ではなく、すべてが正しく動作することを確認するテストです。

これらのアップデートが行われない理由は何ですか?

「セクシーな話題ではないし、人々は通常、自分の持っている汚れた洗濯物について話そうとしないので、これまで誰もこのことについて聞いていませんでした」と彼は説明する。 IT 幹部には、仕事の無駄を省く癖もあります。

「ニュージャージー州がこれからこの問題に注目することは間違いないが、同僚の半数は『自分には起こらない』と考えるだろう。」