COBOLはなにができる言語か、知らない人は多いでしょう。古くからあるCOBOL言語は金融機関や政府機関などの事務処理でしか利用されなくなってきました。
近年の調査によると日本にはCOBOLなどの古い言語を利用したレガシーシステムが数多く存在しており、今後このようなレガシーシステムは刷新されることでしょう。
待ち受ける未来のため、このページではCOBOLでできることの例や重宝される業界を解説します。また、COBOLの年収や、COBOLを学ぶのにおすすめの方法についても紹介していきます。
✓帳票出力など項目から作成
✓四則演算を含む計算処理が可能
✓大量データの一括処理に長けている
COBOLでできることの例
COBOLでできることは事務処理や帳票出力などをはじめとして、数値の計算処理、バッチ処理を利用した大量データの一括処理などです。これはCOBOL誕生の背景に当時の科学技術計算向けの言語を事務処理へ転用することへのハードルの高さを受けたことにあります。
現在ではさまざまなプログラミング言語の登場によって、COBOLを利用している業界や機関は限られてきましたが、現在も利用される言語のため、事例を知ることは仕事の幅を広げる足掛かりとなるでしょう。
金融機関や政府機関などの事務処理
COBOLの得意な処理は事務処理です。そもそもCOBOLという言語が事務処理用に開発された言語であるため、COBOLで開発されたシステムは事務処理をメインに作られていることが多いといえます。
しかし、金融機関や政府機関の事務処理でなぜCOBOLが多く使われているのか疑問に思うことでしょう。時代の変遷に従ってC言語をはじめとした別の言語が発表されているにもかかわらずCOBOLが利用されるのには理由があります。
それは、COBOLの処理性能と桁の大きい計算が得意な言語であるということです。コンパイラやハードウェアの組み合わせによって、処理能力がJavaよりも優れていることからCOBOLは現在も利用され続けているといえるでしょう。
案件例1. 系統金融機関の勘定系預金業務のシステムリプレース
業務内容
系統金融機関の勘定系預金業務のシステムリプレース
応募に必要なスキル
【必要スキル】
・OPENCOBOL
【歓迎スキル】
・ユニシス案件の要件定義経験があれば歓迎。 JASTEMか、BankVisionの開発経験者
・預金業務に精通し、要件定義以降の作業ができ他社有識者と業務関連打合せが可能な方。
報酬(月額)
~500,000円
※開発案件例は架空のものです。
帳票出力など項目から作成
事務処理に必要なものはいくつか存在しますが、そのひとつが帳票です。帳票は経営において、会社の取引の内容や会計についての情報を記録した書類です。
この帳票もCOBOLを利用することで出力するべき項目から定義することができます。また、帳票を印刷する際に、右寄せや左寄せなどのフォーマットを指定することも可能ですし、空白などを動的に行うようにプログラミングすることもできます。
このような点からCOBOLは金融機関のシステムや、政府機関の書類作成に対して非常に貢献したことでレガシーなシステムとして現在も残っているといえます。
四則演算を含む計算処理が可能
COBOLでは四則演算を含む計算処理が可能です。これは他の言語でも出来ることではありますが、COBOLの特徴として特別に取り上げる理由として10進数演算を定義することが可能であることです。
コンピュータは0と1の2つの数でしか計算をしないため、2進数で処理を行うことが基本的なあり方です。しかし2進数で計算を行なった後に最終的に画面には10進数で結果を表示しなければなりません。2進数から10進数に変換が行われる段階で誤差が生じ、正確な計算が行われないことがわかっていました。
COBOLはこの点を正確に処理できるように設計されているためより精度の高い四則演算の処理が可能となっているのです。
案件例2. システム開発支援 会計領域
業務内容
金融系システムの開発支援
・システムリプレース対応
・会計領域のサポート窓口業務
・アプリ開発
・リーダー業務
応募に必要なスキル
・COBOL開発経験
・Shell、JP1経験
・会計知識
・リーダー経験
報酬(月額)
~500,000円
※開発案件例は架空のものです。
大量データの一括処理に長けている
COBOLはバッチ処理に優れており、例えば100万件のレコードを処理するバッチ処理を行うことなどがあっても、メモリを大量に利用することがありません。対してJavaのようなオブジェクト指向プログラミングは計算の際に都度メモリを消費してオブジェクトの生成を必要とします。
これはCOBOLが静的、つまり決まったメモリの領域を繰り返し使うことによりJavaで利用するメモリのようなオーバーヘッドを考える必要がないことで成り立っています。
このような点からCOBOLはバッチ処理を利用した大量データの一括処理に優れていることがいえます。COBOLが事務処理や計算処理で利用されるのにはこのような利点も含まれているといえるでしょう。
言語名 | 人気ランキング | 案件の数 | 案件平均単価 | 習得のしやすさ | 環境構築のしやすさ | できること |
C++ | 1 | ★★★★★ | 71万円 | ★☆☆☆☆ | ★☆☆☆☆ | C++でできること |
C | 2 | ★★★★★ | 67万円 | ★☆☆☆☆ | ★☆☆☆☆ | C言語でできること |
Python | 3 | ★★★★☆ | 77万円 | ★☆☆☆☆ | ★★☆☆☆ | Pythonでできること |
JavaScript | 4 | ★★★☆☆ | 72万円 | ★☆☆☆☆ | ★★☆☆☆ | JavaScriptでできること |
SQL | 5 | ★★★☆☆ | 65万円 | ★★★☆☆ | ★☆☆☆☆ | SQLでできること |
Java | 6 | ★★★☆☆ | 69万円 | ★☆☆☆☆ | ★★☆☆☆ | Javaでできること |
HTML/CSS | 7 | ★★★☆☆ | 70万円 | ★★★★★ | ★★★★★ | HTMLでできること CSSでできること |
PHP | 8 | ★★☆☆☆ | 72万円 | ★★☆☆☆ | ★★☆☆☆ | PHPでできること |
COBOL | 9 | ★★☆☆☆ | 61万円 | ★☆☆☆☆ | ★☆☆☆☆ | COBOLでできること |
Ruby | 10 | ★★☆☆☆ | 80万円 | ★★☆☆☆ | ★★☆☆☆ | Rubyでできること |
Swift | 11 | ★☆☆☆☆ | 79万円 | ★★☆☆☆ | ★★★★☆ | Swiftでできること |
COBOLでできないこと
COBOLにできない、あるいは苦手なこととしてあげられるのは手続き型言語です。現在の言語はC++やC#、Javaをはじめとして、オブジェクト指向プログラミングによる、プログラムの再利用による生産性の向上を計ることが良いと判断されてきました。
オブジェクト指向プログラミングというのは、物事をひとつひとつの役割に分割して作成する考え方のことです。車で考えると分かりやすいといわれていますが、例えばエンジン、タイヤ、内装、外装、その他部品によって車は出来上がっています。
オブジェクト指向プログラミングも同じように、車のエンジン部分、タイヤの部分、外装部分などパーツごとに作成して、ひとつの車、ひとつのプログラムとして完成させていく考え方です。COBOLは手続き型言語のため、このような考え方が難しいといえます。
COBOLが重宝される業界はどこ?
COBOLが重宝されるのは、金銭などの勘定関係においてミスが発生してはいけない銀行などの金融業界、そして帳票をはじめとした書類などの形態が現在も続いている政府関係や一部自治体などは重宝する傾向にあります。
また、新陳代謝の良くない大企業や、いままで問題のなかったシステムに手を入れたくない昔ながらの業界などは特に顕著です。COBOLの利用から別の言語に変更することはなかなか行動に起こすことが難しいといえるでしょう。
銀行を含む金融業界
銀行をはじめとする金融業界は特に金銭に関してシビアな要求がされる業界です。COBOLは四則演算に特殊な性質があることから、他の言語より比較的、誤差が発生しづらいとわれています。
特に銀行などでは1日に行われた取引の勘定があっていることを確認する作業が行われており、問題なければ「一算合明」という言葉で終了ですが勘定が合わない場合は集計をし直すなど原因究明に努めます。
現在でこそ徹夜まですることはないそうですが、過去には徹夜をして集計を行なっていたこともあるそうです。金融業界からすると「金勘定」に対してシビアに対応できるCOBOLという言語が馴染むといえます。
政府関係や一部自治体
政府関係や一部自治体はいまだに紙媒体でのやりとりが主体となっています。省がつく政府関係機関とやりとりする際は多くの紙媒体が要求され、それがやりとりの証拠として保存されます。
自治体でも同じような傾向があり、帳票作成など今でこそ簡単にできるような技術であるものもCOBOLで作成し続けるという風習が拭いきれていません。
もちろんこれはCOBOLが大規模なデータ処理に長けているという側面もあるため、一概に紙媒体へのこだわりのせいとはいいきれませんが、公的機関の資料保存主義はデジタルトランスフォーメーションの波に逆行しているとも捉えられるでしょう。
COBOLの特徴や難易度
COBOLの特徴は事務処理に関するプログラムが効率よく開発できることです。これは人の言葉に近い記述によってプログラムが構成できることにあります。
また、COBOLはコーディングのルールが非常に単調であることから初心者でも理解しやすい言語となっています。ただし、実践で利用するまでにはCOBOLの環境依存の記述や、数値形式や文字コードなどの問題に悩まされることがあるでしょう。
COBOLは古い言語のため「枯れた技術」となっている
COBOLの誕生からすでに60年が経過しており、なおも利用され続けている言語のひとつです。「枯れた技術」という言葉がありますが、衰退したという意味ではありません。
「最先端ではないものの、すでに広く使われており、ノウハウも固まっている。不具合も出し尽くして安定して使える技術」
このようなことを指して枯れた技術といいます。COBOLは古い言語ながら事務処理や計算処理などに適した言語であり、金融業界や自治体、古い体質の企業については現役のプログラミング言語です。
利用頻度は多くないですが、まだ存続する言語であるといえるでしょう。
若い技術者が不足している言語でもある
COBOLを扱える技術者の年齢は40代〜50代の中高年層となっています。これは金融機関などがこぞってCOBOLを利用したことによって、当該年代の人たちに技術が偏ってしまっているといえるでしょう。
そのため若いCOBOL技術者は少なく、案件の少なさからも習得しようという技術者が減っている言語といえます。
今後COBOLから別の言語に書き換える業務や一部業務を刷新するなどの業務は増える傾向にあるため、学習する価値はある言語といえるでしょう。
COBOLは簡単な言語のため比較的容易に習得できる
COBOLの構文は英語のような構文となっていることやコマンドも人の言葉に近いことから、構文形態を一度理解し英語を理解することができれば容易に習得が可能です。
特に可読性が高いというのは初心者にとってはありがたいことで、誰でも書きやすく読みやすいということがいえます。
COBOLは手続き型言語であることから、命令を上から順に書いていくというスタイルであることも、可読性をあげている要因のひとつです。これも習得を容易にさせているといえるでしょう。
COBOLエンジニアの平均年収とキャリアパス
これからCOBOLエンジニアを目指す人にとって、COBOLだけを学習するべきか悩むところでしょう。
また、今後のキャリアパスを考えると、COBOLを学習することはどのようなことがあるのかを解説します。
COBOLエンジニアの平均年収は?
COBOLエンジニアの平均単価はフリーランスの場合、61万円であり、最低単価は35万円です。これはJavaの単価よりも低い傾向にあり最高単価も95万円と100万円を超えることはありません。
会社員のCOBOLエンジニアの平均年収帯は約400〜700万円と言われています。金融・保険など大手企業に所属することになるため、年収は一般的なエンジニアと比較すると最大値では高いということがいえるでしょう。
過去のシステムを新しい言語に置き換えるため需要は増える
今後のキャリアとして、COBOLの需要は過去のシステムを新しい言語に置き換えることなどから需要は増えるといえます。大手銀行では、先んじてCOBOLからJavaへの一部改修が行われるなど、COBOL言語は残しつつJavaを利用するという形がとられていくことでしょう。
「2025年の壁」問題などによって、レガシーシステムは加速的に刷新される流れができています。そのため、COBOL兼Javaエンジニアとしてキャリアを練っていくことで今後、エンジニアとして安定的な収入を得ることが可能でしょう。
COBOLを学習する方法とは
COBOLを学習する方法は、書籍やドットインストールなどでの独学です。本格的に学ぶことを考えている場合はオンラインスクールの利用が良いでしょう。
その理由について解説していきます。
COBOLは独学でも良いがすべての単語を覚えるのは難しい
COBOLは他の言語とは書き筋や言語のあり方が違うため、独特な記述となっています。その分、コーディングルールなどが徹底しているため、読みやすく書きやすいという利点があります。
COBOLを独学で理解するときに苦しむことになるのは、英語を主体とした独特な表現です。一部を抜粋してCOBOLの記述を紹介します。
IDENTIFICATION DIVISION.
PROGRAM-ID. URIAGETL.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
INPUT-OUTPUT SECTION.
これは冒頭のメタ情報的な部分であり、本来のソースはこれより下に書き始めます。COBOLを独学で理解するためにはこの単語の応酬を乗り越えることが必要となるのです。
ドットインストールなどで基本的なことは学ぶことができる
書籍などの独学でCOBOLを学ぶことは難しいことではありませんが、やはり書籍で学ぶことにも限界があります。環境構築の方法や、実際の意味を捉えるのは書籍だけでは難しいからです。
そのためドットインストールなどの講座を利用することでCOBOLを理解することが独学ではおすすめです。
基本的なことを学ぶことができれば、その後は自分で学習することができるため、COBOLの特徴を知るために動画などを利用するのが良いでしょう。
本格的に学ぶならオンラインスクールがおすすめ
COBOLを仕事として利用する、キャリアとして考えている方にはオンラインスクールをおすすめします。COBOLを利用する業界は金融機関、保険、大手IT企業、自治体など、社会的信用が大きく仕事の規模も大きい機関です。
そのような領域で貴重な若手のCOBOLエンジニアとして生きていくためには、現場で働いている40代〜50代のCOBOLエンジニアと同等のスキルが必要といえます。
そのため、本格的なキャリアとしてCOBOLを学ぶ場合はオンラインスクールを選択するのが良いでしょう。
COBOLでできることまとめ
COBOLでできること、平均年収やキャリアパス、言語や業界について解説してきました。COBOLはレガシーシステムとして今後改善されていく対象の言語ですが、その分需要は高まります。
COBOLの技術だけでずっと仕事をすることは難しいかもしれませんが、COBOLと別の言語を習得していることで今後のIT人材不足や「2025年の壁」問題に対して積極的に参加することができるでしょう。
本格的な学習を行い、大手企業に就職・転職を希望している人にとって、COBOLは良い選択肢のひとつです。効果的な学習を希望する場合はプログラミングスクールを利用して、学習することをおすすめします。ぜひスクールの内容をチェックしてみてください。