COBOLってまだ勉強する意味ある?需要は?

2023-04-26

近年、COBOL(Common Business Oriented Language)というプログラミング言語が注目を集めて……いるかは置いておいて。最近ふとCOBOLって今どうなっているか気になったので調べてみたら、コロナウイルスの影響で意外と需要が高まっていたようです。コボラーなのに知らなかった。

COBOLは、ビジネスアプリケーションに特化した古典的なプログラミング言語であり、1960年代に開発された言語です。しかし、最近では、新型コロナウイルスによる混乱や、大企業のレガシーシステムの更新が迫られたことなどから、COBOLに精通したプログラマーの需要が高まっているといいます。そこで、本記事では、COBOLを学ぶことによって得られるメリットや、現代のビジネスにおいてCOBOLがどのように使用されているかについて紹介し、COBOLを学ぶ意義について考えていきます。

COBOLってそもそも何?

COBOLは、1960年代にビジネスアプリケーション開発のために開発されたプログラミング言語であり、長年にわたって広く使われてきました。現在でも多くの企業がCOBOLを使用しており、特に銀行、保険会社、政府機関などの大規模なシステムで使用されています。

需要はあるの?

最近アメリカでは、コロナウイルスの影響で、多くの州や地方政府がCOBOLプログラムを使って失業保険の支払いを処理する必要があったため、COBOLプログラムに対する関心が再燃しています。

日本でもCOBOLは長年にわたって使われてきました。特に金融業界や公共部門など、大規模なシステムが必要な業界では、COBOLを使ったアプリケーションが多数存在しています。また、少なくない企業がCOBOLを使用しているため、COBOLの開発やメンテナンスに携わる人材の需要は一定程度あります。

それぞれの資格を大手転職サイトで検索してみました。

検索内容ヒット数
【python】を含む求人2424件
【COBOL】を含む求人426件
2023/06/19地点での検索ヒット数

やはり、COBOLの案件の方がメジャーなプログラミング言語よりも案件が少ないことがわかります。

総合的に考えると、COBOLの需要はそれなりにあります。既存システムの改修などや刷新のためにもCOBOLに精通している人材は一定程度は必要とされているため、COBOLの知識を持つことは、キャリアの選択肢を広げる上で無駄にはならないでしょう。

全部COBOLで作られているシステムは近年少なくなってきましたが、システムの一部にCOBOLが紛れ込んでいることもあります。古いシステムを現行踏襲するにあたってCOBOLの能力が求められることもあります。

COBOLを学ぶメリット・デメリット

COBOLを学ぶメリットは、企業システムのメンテナンスや修正、移植が必要な場合に、COBOLコードを理解することができるため、コードの品質を向上させることができます。

ただし、現代的なプログラミング言語と比較して、COBOLは機能的に制限があり、基本的には開発プロセスが手動で行われるため、開発効率が悪いです。テストの自動化など、他のプログラミング言語であれば自動化できる箇所もCOBOLではできないことが多いです。第一プログラミング言語としてCOBOLを学ぶことは避けた方がいいでしょう。

COBOLを学ぶ必要性は、個人のキャリア目標や目的によって異なります。役所や銀行のシステムなどのビジネスアプリケーションの開発やメンテナンスに携わる可能性がある場合は、COBOLの知識が有用であると言えます。

COBOLで仕事をする大変さ

COBOLを使った仕事をする場合、他のプログラミング言語と比較して大変な点はいくつか存在します。

1つ目は、COBOLが古い言語であるため、現代の言語とは異なる構文やライブラリが存在することです。このため、COBOLを理解するためには、古い文献や技術書を読む必要があります。COBOLはメジャーなプログラミング言語ではないため、広い本屋を探しても数冊しか存在していないうえに、分かりやすい技術書は少ないです。

2つ目は、COBOLがビジネスロジックに特化しているため、ビジネスプロセスに精通していることが求められることです。COBOLを使った開発では、ビジネスのルールや規則、システムの仕様を理解することが不可欠です。まあこれに関しては他のプログラミング言語でも言えることなので特別に『COBOLが』ってことはないんですが……COBOLのプログラムはとにかく歴史があります。過去全ての改修の意図を理解するのが到底不可能なレベルになっているシステムもちらほら。

さらに、COBOLはプロジェクトごとに独自のテンプレートを作っていることがあります。プロジェクトによって作法が全く違っていたりするので独学で学んでいくのは難しいです。

これらの要素から、COBOLを使った仕事は、一般的なプログラミングよりも複雑で大変なものであると言えます。ただし、COBOLを使ったシステムが今でも多数存在するため、COBOLに精通したプログラマーには需要があることも事実です。

結論:今からわざわざ0から勉強する必要性はない

COBOLを今から0から勉強するよりも、他のプログラミング言語を学んだ方がよさそうです。COBOLはビジネスアプリケーションに特化しており、現代の技術に比べると使われる頻度が減っています。そのため、COBOLを学ぶことによって得られる経験やスキルが、将来的に役に立つ可能性は低いです。

一方、現代のプログラミング言語には、様々な用途に合わせた多様な言語があります。例えば、Webアプリケーション開発にはJavaScriptやPHP、データ分析にはPython、モバイルアプリ開発にはJavaやSwiftなどがあります。これらの言語は、現代のビジネスに必要とされるスキルを獲得するために重要なものであり、将来的にも需要が高まる可能性があります。

ただし、COBOLに精通したプログラマーには需要があるということも事実です。そのため、COBOLを学ぶことが自分にとって有益かどうかをよく考え、将来のキャリアプランに合わせて学習することが重要です。

管理人代理

他のプログラミング言語がそこそこできるならCOBOLの案件もそつなくこなせるよ。

逆にCOBOLを一番最初に勉強すると他のプログラミング言語で応用が利かないので大変です。本当に浦島太郎状態になる。