カテゴリから探す
Geekly
コラム
技術・
テクノロジー
職種・
ポジション
Web・
ゲーム
転職準備
転職活動
  1. HOME
  2. Geekly Media
  3. 技術・テクノロジー
  4. COBOLってどんな言語?できることから汎用系とオープン系との違いまで解説!
  • 技術・テクノロジー

COBOLってどんな言語?できることから汎用系とオープン系との違いまで解説!

現在利用されているプログラミング言語には多様な種類があります。その中でもCOBOLは古くから使われているプログラミング言語ですが、エンジニアの数も非常に少ないという現状もあります。そこで今回は、COBOLとはどんな言語なのかを確認しながら、オープン系との違いを交えて幅広く紹介します。

 

COBOLとは

 

 

COBOLとは、1959年に開発された古くからあるプログラミング言語です。事務処理に最適な言語として開発され、国際的な標準化がおこなわれているプログラミング言語でもあります。現在、COBOL技術者は非常に少なく、その人材は貴重な技術者でもあるのです。

COBOLが開発される以前、事務処理を行うコンピューターの言語は、機器を開発するメーカーによって異なっていました。この自体を受けてアメリカ国防省が共通言語として提案し、開発されたのがプログラミング言語のCOBOLです。

COBOLのソースは、英語に近い記述コードでプログラミングすることができ、その他のプログラミング言語よりも比較的“読みやすい”ことも特徴の一つです。

COBOLは少しずつ拡張を続けており、COBOLのソースコードをC言語に変換するコンパイラ「OpenCOBOL」も登場しています。

 

COBOLでできること

 

事務処理

 

 

COBOLはもともと、事務処理用として開発された言語です。ですので、COBOLで開発されるシステムも事務処理用のプログラムがメインなのです。

金融や政府機関においても、COBOLは基幹系システムとして今でも現役で稼働してます。

 

計算処理

 

 

事務処理にも影響する特徴ですが、COBOLは計算処理にも向いています

COBOLでは10進数演算を定義することができるので、四則演算などの計算をわかりやすいく扱うことができるのです。

 

帳票

 

 

COBOLでは、事務処理にはつきものである帳票の出力も容易です。

帳票の項目についてもCOBOLで定義することができます。印刷時に調整する右寄せや空白などを自動的に行えるようプログラミングできるのです。

 

COBOLが使われる業界

 

金融業界

 

 

金融はもちろん、現在のコンピューター言語が登場するよりも前から存在している業界です。

私たちの物の価値を左右する業界でもありますね。ですので、処理の自動化をコンピューターに置き換えるという流れは比較的早く行われました。

現在でも、金融ではメインフレーム(汎用機と呼ばれる)はCOBOLが使用されているのです。

 

銀行業界

 

 

金融業界に含まれますが、銀行業界でもメインフレームがCOBOLで利用されています。

メインフレームで求められる処理速度では、COBOL Compilerでの高速処理が適しています。バッチ処理などは、やはりCOBOLに勝てないという事情があるのです。

 

COBOLとオープン系の違い

 

COBOLという言語では、よく汎用系とオープン系の比較が話題になります。そこで、COBOLとオープン系の違いを確認しておきましょう。

 

COBOLは汎用系(ホスト系)

 

 

COBOLを代表する汎用系を制御する言語は、基幹系システムなどに使われます。イメージするならば、大規模コンピューターですね。

これら汎用系(ホスト系)と呼ばれるコンピューターは、今現在でも金融をはじめとして政府機関でも広く使われるシステムで動いています

理由としては、並行処理やバッチ処理、帳票出力に向いているからです。

 

 

 

オープン系はクライアントとサーバーを持つ

 

 

オープン系は主にクライアントとサーバー両面のシステムを構築できるものです。

作成されたシステムは、機器やOSに依存せずに利用できるサービスとなります。

私たちが日常で利用するサービスのほとんどはオープン系です。私たちはPCやスマートフォンから情報収集やブログの更新、あるいは業務におけるデータ管理を行いますよね。

これらは全てオープン系であり、現代のインターネット社会ではオープン系システムが私たちとITの窓口となっています。

 

COBOLの将来性

 

 

COBOLの将来性については、「現行の汎用系システムが使われ続ける限り」人材は重宝されると言えるでしょう。

COBOLを利用した汎用系システムが減ってきているとはいえ、それを利用している仕組みがある限り、拡張やメンテナンスは必要になりますよね。

実際に、COBOL技術者の数も減っている現状を踏まえると、今COBOLを扱える技術者は貴重な存在と言わざるを得ません。

汎用系のシステムが完全に照明つしてしまうということは、随分昔から言われていることですが、あくまでも基幹システムとして社会を支えているプログラムですので、急に全てが無くなるということは考えにくいのです。

無くなることが考えにくいということは、COBOLを利用したシステムは今後も使い続けられる可能性が高いといえますし、COBOL技術者が圧倒的に不足している状況では、COBOL技術者としての将来性は、まだまだ可能性があるということと、COBOL技術者が重宝されるということが予測できます。

長年基幹システムとして使われてきたCOBOLには、時が経つに連れて明るみに出るバグというものもつきものです。

そのようなシステムバグの対処には、やはりCOBOL技術者がどうしても必要になるでしょう。

実際に近年でも、「勤労統計」に関する問題が浮上しました。この背景にあるのが「COBOLのバグ」だったという報告も上がっているのです。

 

COBOLのバグが社会に影響した

 

厚生労働省の統計である「統計」に不正があったのではないかという問題が、2019年2月に浮上しました。

この「統計」が正常な値でないとすると、大きな影響としてはGDP(国内総生産)の算出が正常な値稼働かがわからないという、国としての指標すら危ういものになってしまいます。

また、身近な例で言えば、万が一失業した際に手当として支給される「失業保険」の算出にも影響するのです。

これら数値が“不正”なデータであるという疑惑でしたが、その根本原因が「COBOLのバグ」であるという指摘が出ています。

基幹システムはCOBOLでシステム構築されているため、システム改修などは自前で行なっているのですが、

COBOL技術者が豊富だった時代に比べて極端に減っているため、システム全体のチェックもままならない状況にあったのです。

 

やはりCOBOL技術者は必要

 

 

このような事態は、厚生労働省の基幹システムに限ったことではないでしょう。

当時COBOLで構築されたシステムは、COBOL技術者が減るとともにそのメンテナンスが非常に困難な状況になっていることがわかります。

しかし、裏を返せば、これらのようなCOBOLで構築された基幹システムなどを動かすためには、COBOL技術者が必要とされているということなのです。

COBOLの将来性を考えた時、これからCOBOLによるシステム構築が増えるという考え方ではなく、過去にCOBOLで構築された重要な基幹システムを支える要員としての将来性が見えてきますね。

 

まとめ

 

 

現代のシステムに求められるものはオープン系のプログラミング言語です。インターネットの普及した社会では、職場でも家庭でも、システムを利用する際にはクライアントがサーバーへ接続して、サービスを利用するというシーンが一般的であり、さらにはクラウドストレージが標準化する現代では、ほとんどのサービスはオープン系となります。

しかし、私たちの日常生活や労働環境、そして経済を支える基幹系システムでは、今もCOBOLによるシステムが利用されているのです。

最新の、あるいは流行りのプログラミング言語を習得することは、世の中に合わせたスキルを習得する上で非常に重要なものですが、社会を支える基幹システムに目を向けると、COBOLは現役であり、COBOL技術者は重宝される存在だということがわかりますね。

佐久森

Geekly Media
ライター

この記事が気に入ったら
シェアしよう!

  • twitter
  • facebook
0

関連記事

求人数×IT業界での紹介実績数で、納得の転職をサポート。IT業界専門だからこそできる提案力を実感してみてください。