【言語紹介】COBOLって知ってますか???

SES

ちょっと聞いてください!

私(大窪)はCOBOL(コボル)歴9年以上なんですが、
「COBOLっていうプログラミング言語なんてよくわからな~い」って方が多いので、
ご紹介させてください。

COBOLってどんな言語??

かなり昔からある言語で、事務処理系を得意とするプログラミング言語のことです。
以下のような企業で現在も利用されています。
(事務処理系なので、計算がめっちゃ得意です!)

  • 銀行
  • 保険会社
  • 工場
  • 自治体(市役所) などなど

昔からある大手企業の大規模システムは基本的にCOBOLで作っていることが多いです。
現在では COBOL → Java などへ置き換えているような企業もあります。
(大半は置換するのに莫大なコストがかかるので一部機能の置換となっています)

COBOLの求人はまだあるの?

COBOL求人は全国であります。
基本的に大規模システムを相手に作業をする必要があるので、セキュリティ的に「客先常駐」となります。
また、ふるーーい言語なので40代以降の方ぐらいしか経験(経歴)がある方がいません
20代前半で1社でも経歴(3ヶ月以上)がある人だったらまず採用されると思います。<個人的な考え>

ちなみに単価の話をするとピンキリとなります。
若くて経歴がある方は希少ですが、他の言語とあまり変わらないのが現状です。

COBOLの勉強方法は?

企業によっては新入社員研修など(必須)で勉強することになります。
が、そのような企業は大変少ないのでSESとして受ける場合も考慮して勉強方法を述べておきます。
※SESがわからない方はこちら ⇒ SESの業務内容って?

私が知る限り、勉強方法は以下の3つがあります。

  1. OPEN COBOL
  2. GNU COBOL
  3. paiza.io

1番・2番は色々難しいインストールが必要となり、めちゃくちゃ面倒なのでオススメしません。
※1・2番はインストール(環境準備)で大半が挫折

ということで3番がオススメとなります。

3番であれば、動作(結果)を確認しながら学習することが可能です。
以下が実際に私が実行した結果画面です。
環境さえ準備できればあとは「cobol 学習」などで検索すれば大体のことはネット上に載っています。
ちなみに先人の教えで「サルでもわかるCOBOL」で私は勉強しました。

Paiza.ioより https://paiza.io/

現場が決まった時、他に注意することはある??

2点あります。

TSOに驚かない

大手企業の現場だった場合は基本的に「TSO」というアプリを利用します。
TSOのログイン画面は下記画像のようになっています。

IBMMAINFRAMERより https://www.ibmmainframer.com/

日本語がないですね!!
一応日本語対応している企業もありますが「重要なメッセージは英語表記のまま」なんて企業もあります。
どちらにせよ真っ黒い画面ではじめはビックリすることでしょう。
でも大丈夫です。はじめは誰でもわからないので「使い方」は現場で教わります!
ちなみにコマンドライン(キーボードのみ)で操作します!

基本的なコマンド(例:TSO EXEC など)や各企業ごとに特殊なコマンドもあったりするので必ず「使い方」を教わりましょう!
後で絶対困るので必ずキレイにメモをとりましょう

TSOについては、これだけ知っておけば、まず大丈夫です!
※COBOLでコーディングする画面もちゃんとあります

JCLについて知っておく

「JCL?なにそれ?」ってはじめはなります。
文章のみで説明するのは難しいので以下の画像を参照ください。
※呼び出しの関連のみです。あくまで個人的な理解を画像にしてます。

JCLに記載されているステップごとの処理を実行します。
以下はJCLの簡単なサンプルです。

IBM.COMより https://www.ibm.com/

==================================
//JOBSAMPLE JOB ,’SAMPLE JCL JOB’,
// CLASS=C,
// MSGCLASS=P,
// COND=(4,LT),
// REGION=4096K
//STP010 EXEC PGM=APIJCL
//DDOUT1 DD DSN=PJ.ABC.DATASET1,
// UNIT=(MTLIB,,DEFER),
// DISP=(NEW,KEEP),
// DCB=TRTCH=C,
// LABEL=(,SL),
// VOL=SER=DXXXXX
//APIPARAM DD *
1111 ABC –TEST– VALUE
//
==================================

よくわからないと思いますが、赤字にした部分に「STEP010」と「PGM=APIJCL」と記載されています。
「STEP010」で「APIJCL」を実行するという意味です。
「STEP010」のあとに「STEP020」や「STEP030」と続いていれば、それらも実行されます。
他の説明は割愛しますが、必ず先頭から順番に実行されるのが特徴です。

「JCLからCOBOLで記述したプログラムが実行される」と覚えておけば問題ありません!
paiza.ioなどで学習していると絶対に知れない部分だったので、知っているだけで違ってきます。

最後に

実際の現場では他にも知る必要がある内容はありますが、それらは現場で学ばないと頭に入りません。(HEXだったり、JCLのSORTだったり…色々)

COBOLも奥が深いですが、
現場で「知って・確認して・実行して・結果を確認する」ことで覚えていけるので、
最低限のことを知っておくだけでも先人達が教えてくれるはずなので大丈夫です。

そもそも「COBOLってなに?」からはじまりましたが
「この世の中にまだまだ必要な言語ですのでお知りおきくださいませ!」
っと伝えたかったのです。

気になることや、質問等がありましたら、コメントなどでご連絡ください!

コメント

タイトルとURLをコピーしました