COBOL(コボル)は1959年に事務処理用に開発された、古くからあるプログラミング言語です。ちなみに、C言語は1972年、Python(パイソン)は1990年、PHP(ピー・エイチ・ピー)は1994年、Java(ジャバ)とRuby(ルビー)は1995年です(※)。
プログラミング言語は、古くからあるものが最新技術の流行に伴って再利用されるケースが多々あります。例えばPythonはAI(人工知能)開発で注目されていますが、実はもともと科学技術計算に使われていた言語なので、歴史があるのです。
ではさらに歴史のあるCOBOLはどのような言語で、また現状のIT業界でCOBOLはどのような立ち位置になるのでしょう。COBOLについていろいろと解説していきます。
(※)参考:TechBridge「プログラミング言語はどうやって作られた?その歴史を紐解く【前編】」
<目次>
●COBOLってどんな言語?
●COBOLの特徴は?
・COBOLでできること、メリット
・COBOLで開発されたサービスの事例
・COBOLでできないこと、デメリット
・COBOLが今後も重宝される理由
●COBOLとJCLの違いは?
●COBOLを使ってどんな仕事ができる?
・職種の例
・仕事内容の例
●COBOLを学びたい! まずは何をすればいい?
・学習の大まかな流れ
・COBOLの学習におすすめの書籍、サイト
●COBOLで就職できる企業を探すには?
・COBOLで就職できる企業の探し方
●この記事のまとめ
●先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
・ONE CAREER for Engineerではどんなことができる?
COBOLってどんな言語?
COBOLは、事務処理用に特化したプログラミング言語です。業務用システムのサーバーサイドの開発で使用されます。
堅苦しくて難しそうといったイメージがあるかもしれませんが、おそらく他の言語経験者がCOBOLを見ると、「読みやすそう」と思うはずです。というのも、COBOLは英語をそのまま書いているのに近い構造をしていて、一見すると、文章の箇条書きのように整っているからです。
そのため、他の言語経験者であればCOBOLは習得しやすい言語といえます。
COBOLの特徴は?
COBOLは事務処理用の言語ということを説明しましたが、こちらをもう少し掘り下げて、できることやメリットを解説します。
COBOLでできること、メリット
COBOLは事務処理に向いている言語なので、事務処理用のシステム開発で使用されることが多いです。これは、COBOLが手続き型言語であることが理由です。
手続き型言語とは、処理を順に記述していく方法のことです。処理のまとまりを作って呼び出すことはありますが、基本的には上から下に向かって整理して処理を記述しています。
Javaなどのオブジェクト指向言語のように、構造が複雑化することはないためコードが読みやすく、バグなどが生じにくいです。
COBOLで開発されたサービスの事例
COBOLで開発されているシステムは数多いです。かつては、業務システムの多くがCOBOLで開発されていると言っても過言ではありませんでした。しかし現在は、COBOLで作られていたシステムがJavaに書き換えられるようなケースも増えています。
現在もCOBOLで稼働しているシステムとして有名なものとしては、官公庁のシステムなどが挙げられます。官公庁のシステムも一部Javaに書き換えられていますが、省庁によっては今もCOBOLがメインのシステムを使用しています。
また金融機関でもCOBOLシステムが使われることが多かったのですが、最近では金融機関のシステムは大部分がJavaなどの別の言語に書き換えられています。
COBOLでできないこと、デメリット
COBOLの強みをご紹介しましたが、COBOLを含む手続き型言語には欠点もあります。
まず特徴として、コードが長くなることと、改修の手間が大きくなることが挙げられます。
また、処理を単調に記述する言語であるため、改修の際には全体を修正していく必要が出てきます。Javaに代表されるオブジェクト指向の言語では、大本を直せばそれを引き継いでいる下の階層の処理も一緒に修正できるため、比較するとCOBOLは修正の負担が大きいといえます。
手続き型言語はそれぞれ記述の関係性を考える手間が少ない分書きやすいですが、その一方で上記のような利便性が低い部分があるのです。
COBOLが今後も重宝される理由
ここまでCOBOLのメリット、デメリットをご紹介しましたが、今後新規開発ではCOBOLが使用される頻度は減るでしょう。
とはいえ、COBOLは引き続き改修業務において重宝される可能性が高いです。既存の大規模システムの中にはCOBOLできちんと稼働しているもの、工数の都合上、別言語に改修することが難しいものなどがあります。こういったシステムは引き続きCOBOLが用いられるため、需要があるといえます。
またCOBOLエンジニアは高齢化している傾向にあるので、若手のCOBOLエンジニアはプロジェクトで重宝されるでしょう。
COBOLとJCLの違いは?
COBOLについて勉強していると、JCLの話も出てくることが多いでしょう。JCLは、Job Control Languageの略です。JCLは、メインフレームと呼ばれる大型コンピューターで使用されることの多い言語です。COBOLはメインフレームで使用されることが多いため、結果的にCOBOLとJCLはセットで使用されることが多いです。メインの処理をCOBOLで実装し、JCLでそれを制御します。
COBOLを使ってどんな仕事ができる?
COBOLを使う職種、仕事内容をご紹介します。
職種の例
COBOLを使う職種として、バックエンドエンジニア、プロジェクトマネージャー(PM)が挙げられます。COBOLを使用している開発現場では、実際に手を動かすエンジニアとしても、プロジェクトを管理するPMとしても活躍できます。
まずはバックエンドエンジニアとして実践経験を積み、現場の開発の流れや顧客の業務を把握し、プロジェクトを深く知ったうえでPMを目指していくのがおすすめです。
仕事内容の例
COBOLでできる仕事はCOBOLを使う仕事は、主にシステム開発ですが、大きく分けると汎用(はんよう)システムとオープンシステムに分けられます。汎用系とは、汎用機を使用したCOBOL開発のことです。オープン系は、汎用系に対する概念で汎用機以外の環境でもできる開発です。
COBOLはもともと汎用機で使われていましたが、UNIX(ユニックス)などのOXでもCOBOL開発ができます。オープン系も汎用系も同じCOBOLですが、開発環境が異なるので結果的に現場で使われているコードにも違いはあります。とはいえ同じCOBOLなので、汎用系とオープン系はおおむね同じ技術で流用できます。
システムの種類はいずれも業務系システムかつ古いものが多いです。数十年前から稼働しているシステムの開発現場で働く場合が多いでしょう。ただし運用保守だけでなく、業務の変更に合わせて開発を行います。
COBOLを学びたい! まずは何をすればいい?
COBOLのスキルを身に付けるための、学習の流れを解説します。
学習の大まかな流れ
COBOLはウェブ開発やスマホアプリ開発に使われる言語に比べると、独学が難しい言語といえます。通常のウェブ開発やスマホアプリ開発は自分で環境構築をして実装しやすいですが、COBOLは大規模システムに使われることが多いため、独学用に環境構築するのが難しいためです。
そのため独学には限界がありますが、書籍やサイトで基礎を身に付け、環境構築して実装することは可能です。オープン系であれば自分で環境構築できるので、書籍やサイトに従って実際に手を動かすのがおすすめです。
COBOLの学習におすすめの書籍、サイト
COBOLの学習におすすめの書籍、サイトは以下です。
おすすめ書籍
・『実践COBOLプログラミング入門』(技術評論社、2011年)
オープンCOBOLの基本が学べる書籍です。COBOLの基本を学んだ後、COBOLプログラマーになってからは辞書的な使い方もできます。
・『やさしいCOBOL入門―演習問題で基礎から学ぶ』(カットシステム、2000年)
COBOL初心者、もしくはプログラミング自体が初めてでも基礎から学習できる内容になっています。例題と演習問題を繰り返し解くことでCOBOLの基礎が身に付きます。
おすすめサイト
COBOLの基本を網羅的に解説しているサイトです。
ドットインストールはプログラミング学習のための動画サイトとしてはもっとも有名と言っても過言ではないでしょう。COBOLの動画も配信されているので、網羅的に学習できます。
Schooはプログラミングやデザインなど幅広い学習を動画でできるサイトです。COBOLの学習の動画も配信されています。
COBOLで就職できる企業を探すには?
COBOLで就職できる企業を探す方法は複数ありますが、他の言語と同じです。
COBOLで就職できる企業の探し方
COBOLで就職できる企業の探し方には以下があります。
・求人サイトで探す ・転職エージェントを利用する ・SNSを利用する ・知人などの紹介
以上のような選択肢があります。SNSと知人の紹介は難易度が高く、プログラミング初心者にとっては困難でしょう。そのため、求人サイトか転職エージェントを利用するのが一般的です。求人サイトと転職エージェントにはIT業界に特化したものもあれば、いろいろな業界を紹介しているものもあります。
IT業界でのキャリアがあって高収入を狙う場合はIT業界に特化したものがおすすめですが、未経験者の場合はどちらでも結果に差が出ない可能性が高いでしょう。
求人サイトか転職エージェントか迷った場合は、転職エージェントを利用するのがおすすめです。迷うということはしっかりとした方針が固まっていないはずなので、転職エージェントのサポートを受けた方が自分に合った企業を選べる可能性が高いからです。
この記事のまとめ
COBOLは古くからある言語で、事務処理用のシステムで使用されることの多い言語です。数十年前からあるシステムでは、今でもCOBOLが使われていることがあります。COBOLエンジニアは高齢化が進んでいるため、若手でCOBOLが扱えると重宝されます。
求人を見つける方法は複数ありますが、方針が定まっておらず迷っているのであれば、転職エージェントの活用がおすすめです。
先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
エンジニア就活をこれから始める、今まさに選考を受けている皆様へ、このような悩みはないでしょうか?
「総合職やビジネス職ばかりで、エンジニア職の体験談が見つからない」「内定を獲得した先輩が、どんな開発経験を積んでいたのか/どんな対策をしていたのか知りたい」
こういった悩みをお持ちの方に向けて、エンジニア職特化の就活サイト、「ONE CAREER for Engineer」をリリースいたしました!
▼ONE CAREER for Engineerエンジニアや技術職の就活・選考体験談を探す ※選考体験談の閲覧には、別途会員登録が必要です。
ONE CAREER for Engineerではどんなことができる?
1. エンジニア特化の選考体験談が見られる!
エンジニア人気企業を中心に、先輩のESや選考体験談を公開中です。
エンジニア就活ならではといえる、「コーディングテスト」の体験談も多数公開しています!
2. 登録いただいたプロフィール情報をもとにポートフォリオを自動生成!
「ご自身の技術経験を企業へどう伝えよう……」とお悩みの方は、こちらの機能をご活用ください!
3. エンジニア職の選考体験談投稿で謝礼(Amazon ギフト券)をもらえる!
ご自身の選考の体験談をご登録いただくことで、謝礼(Amazonギフト券)をプレゼントしております!
エンジニア就活をこれから始める方、選考対策にお困りの方は、ぜひこの機会にご登録をお待ちしております!
(Photo:BAIVECTOR/Shutterstock.com)