The state of New Jersey is seeking volunteers with knowledge of how to code COBOL to aid in the coronavirus outbreak, according to the governor's request on Monday.
米国 ニュージャージー州はコロナウイルスの発生を助けるためにCOBOLをコーディングする方法の知識を持つボランティアを求めています。
新型コロナウィルスの影響で州のシステムにメンテナンスが必要になったからです。
今更、COBOL 終わった言語だろ!
なんていう人は、COBOLで組まれたシステムが世界中の経済、社会インフラを未だに支えていることを知らない。
今回の日本のIT屋に一言は、
還暦の言語 COBOL 世界経済と社会インフラは、この言語に支えられてきたことを忘れてはいけない
と題して
現在、厄介者と扱われがちなCOBOLの話をしよう。
今回も小難しい話をわかりやすく解説しながらブログにまとめました。
最後まで読んでいただけたら幸いです。
目次
還暦を迎えたCOBOL
COBOL誕生60年、以前、このブログでCOBOLの話をしました。
世界経済は、COBOLで支えられてきたと古の言語として紹介してきました。
-
古の言語をなめたらいかんぜよ プログラム言語夜話 第2話 COBOL
まだ、あのクルマ乗っているの? 自分のクルマは、12年目を迎えます。 車検や定期点検に行くたびに「新しいのは、いいですよ」 とディーラーさんの誘惑の声 「いやぁ もうこんなイカれたエンジン、出てこない ...
COBOLの正規名称は
「共通事務処理用言語(Common Business Oriented Language)」
生みの親は、
米国防総省が設立した標準言語策定委員会(CODASYL:Conference On Data Systems Languages)
そして事実上の産みの親は、グレース・マレー・ホッパー(Grace Murray Hopper)という女性であり、イェール大学大学院で数学博士号を主としている計算機科学者であり、米国軍人(准将)です。1906年~1992年
目的
事務計算処理用のプログラミング言語として誕生
1960年代のコンピューターの主力言語は、機械語、つまり、コンピューターによって方言が強く、移植は困難だった。
これに問題を感じた鹿野地は、
「機械語やアセンブリ言語ではなく、英語に近い自然言語でプログラミングできるように(開発)言語を進化させる」
1957年に高度なコンピューター知識がない人でもプログラミングできるコンパイル言語「FLOW-MATIC」を制作
その後、標準言語策定委員会に参加、「FLOW-MATIC」を進化させたCOBOLが誕生
これ以後 COBOLは、米国政府御用達の言語として主に事務処理などに使われてきました。
ポイントは、少しの教育でCOBOLが使えるようになるという生産性の高さと
それまで、計算に2進数、8進数、16進数を使っていたのに対して、COBOLは、10進数を基本としているので事務処理、金融機関等で取り扱うには、便利であった。
こうしてCOBOLは、世界中のコンピューターに搭載され、業務の電子化への一歩を踏み出したのである。
日本のCOBOL
1960年代、日本では、米レミントンランド(Remington Rand)製の商用コンピューターであるUNIVAC(ユニバック)が多く導入されていた。
当時、レミントンランド社の会長は、連合国軍最高司令官を退官したダグラス・マッカーサー
そう、そういうしがらみもあったのでしょう。
UNIVAC(ユニバック)以外では、高千穂交易が「バロース」(現ユニシス)を輸入開始
『半蔵門の群狼』という書籍に当時のことが記載されている。
【余談】
IT小僧の最初のコンピューターとの出会いは、「バロース」でした。
「全商コンピュータサービス」
東京工業品取引所(TOCOM)のビルの地下1階から2階オフィス、このシステムを担当している企業でした。
1982年に入社、約3年間お世話になりました。
ズブの素人でキーボードも触ったことのない自分は、ここで非常に多くのことを学んだのです。
特にバローズの「SYSTEM CANDE(Command AND Edit)」は、開発、試験、本番と 優れた統合環境でシステムでしかも高級言語のAlgolで書かれてあった。
後に、IBMのコンピューターで仕事をした時
「IBM だせえええ」
「なんだ この時代遅れのコンピューター」
バローズのCANDEは、優秀だった。
あのころ 「一緒に戦ったみなさん」 どうしているかな?
もし、このブログを読んでいたら連絡待っています。
さて本題にもどします。
1963年
・「国産コンピューター優先調達政策」
1970年
・田中角栄氏が通産大臣になると一気に様相が変わる。
「日本の頭脳は日本で確保したい」と発表
1975年
・米国と国内メーカーへの資本参加や米国製コンピューターの輸入自由化で合意
・国産6メーカーを3つのグループに再編、補助金を集中投入
田中角栄氏が通産大臣になってから 日本は、世界市場で唯一、米国と戦えるポジションとなり、国内のコンピューター市場が広がる。
そこで動作していた言語は、もちろん COBOL
その後、オフコンの採用、金融機関の、オンラインシステム
これを足がかりに日本は、高度経済成長を突き進むことになります。
日本の高度経済成長を支えたのは、田中角栄氏の国産コンピューターの政策が大きく影響しています。
まさに「コンピューター付きブルドーザー」とは、よく言ったものである。
規格決めの混乱とバブル崩壊
1968年
CODASYLのCOBOL仕様「COBOL-65」
※IT小僧の記憶では、バローズは、「64 COBOL」と言っていた。
1974年
ANSIがCOBOLの新しい標準規格である「第2次規格」 通常「COBOL 74」
1985年
構造化の概念を取り入れた(第3次規格)である「COBOL 85」
このあたりから、COBOLは、機種依存になっていったため、互換性が失わえることになる。
そして、混乱の時代を迎える。
日本全体が「COBOL亜種」に埋め尽くされた。平易な英文で記述できる標準仕様を備え、どんなプラットフォームでも稼働するはずのCOBOLが、いつの間にか環境依存性の高いものに変質したのである。実は、このときの環境依存性の高さが30年近くたった今でも、リプレースを困難にする原因の一つになっている。
ウィキペディアより抜粋
1980年代は、COBOLプログラムが爆発的に増え、SEやプログラマーが最初に覚える言語であった。
※IT小僧もこの世代ですが、3年後に転職してC言語やアセンブラー、UNIXの世界に入っていった。
1990年代前半
バブル経済が崩壊、企業がバタバタと倒れていった。
システムに予算がつかず、1980年代に開発されたシステムがそのまま使われ続けることになり、2000年問題まで放置状態が多かった。
1990年代後半
オープン化の流れやオブジェクト指向言語など新しい時代が到来
Windows95からはじまるインターネットは、COBOLの衰退を加速
エンジニアたちは、大型コンピューターのCOBOLの頭から切り替えができなくて悩んでいる人も多かった。
もちろん、COBOLを学ぶエンジニアは激減した。
2025年の崖
経済産業省が2018年9月に発表した「DXレポート ~ITシステム『2025年の崖』克服とDXの本格的な展開~」を読んだ人も多いだろう。完全に「お荷物」扱いだ。COBOLの視点から見た場合、今後突き付けられた課題は、以下のように大きく2つある。
•IT人材が40万人超不足、COBOLで構築されたシステムを扱える人材の枯渇
•20年以上経過する基幹系システムが全体の6割を超過する
ウィキペディアより抜粋
COBOLの使えるエンジニアが減ったために切り替えができないと・・・
提案
今さら、若い人にCOBOLを教えても可愛そうです。
消え去る運命の言語や環境を覚えるのは、無駄です。
AIやIoTなどで活躍してください。
ここは、おっさん、おばさんのパイセン(先輩)たちの出番です。
流石にCOBOLならば、今でも大丈夫でしょう。
C#やJavaなどに比べれば 簡単ですから・・・
企業で古いシステムでお困りの方は、55歳以上のCOBOL経験者を募集してみてください。
結構、優秀な人が集まると思いますよ。
「コピペだけで内容を理解しないでプログラムを作っている人たち」より
数多く他人のソースを読んできた人たちなので実力派半端ないです。
そういう、伝説的なプログラマーのパイセンを数多く見てきました。
ニュージャージー州
ニュージャージー州はコロナウイルスの発生を助けるためにCOBOLをコーディングする方法の知識を持つボランティアを求めています。
フィルマーフィー知事は、
「時代遅れと見なされる古いメインフレームを多く使用しているため、COBOLを知っているボランティアを求めています。
新型コロナウイルスの発生により経済がさらに混乱するため、州のシステムにはメンテナンスとサービスが必要になっているのです。」
とコメントを出している。
COBOLプログラミングヘルプへの呼びかけは、実現し、古いメインフレームの保守を手伝うボランティアが何人か参加しています。
まとめ
「コンピューター言語なんて そう大差ありません」
基本概念さえ掴んでしまえば簡単です。
若い人も「ひとつの言語」だけではなく「多くのシステムや環境、そして言語」に触れてみてほしい。
多くの環境に触れることで「きっと、役に立つ時が来る」とIT小僧は断言します。
そうすることで、エンジニアとしての幅がひろがります。
「古いCOBOLシステムの解読専門シニアチーム」
をつくったら 需要ありそうだなと思っている。