長く金融業界の案件を経験したエンジニアが説く!!金融業界で利用されるプログラミング言語Ⅰ

『長く金融業界の案件を経験したエンジニアが説く!!金融業界で利用されるプログラミング言語Ⅰ』のサムネイル

皆さんは、プロジェクトでなんのプログラミング言語を使用していますか?
 
最近では、Flutterと呼ばれる言語が出てきていたり、Rubyを使用されることが多くなってきたりと、色々な言語で溢れていますね。
 
そこで、何の言語を勉強したら良いだろう?と思われる方も多いと思いますので、この企画では、プログラミング言語の紹介や、業界毎に利用頻度が高い言語のご紹介をさせていただきます。
 
まずは、ver1として、私が一番長い間経験した「金融業界」で利用頻度が高い言語になります。
 
ぜひ、プログラミングについて理解を深めたい方は、ぜひご覧ください。

金融業界で利用頻度が高い言語

さて、皆さんは金融業界ではどんな言語が利用されていると思いますか?
最先端の言語が利用されている?
それとも、古い言語が利用されている?
 
金融業界では、「古い言語」が利用されています!
金融業界は、お金を管理するシステムが多いため、リスクになることを避ける傾向にあります。
逆を言えば、リスクを避けるために、今まで経験したことを好む傾向にあります。
 
その為、昔から利用している言語を利用してプログラミングされています。
 
では、金融業界は、昔から何の言語を利用していたのでしょうか?
 
代表的なものは、
①     COBOL
②     PL1
③     JAVA
④     Flex(Action Script)
⑤     JP1
⑥     Shell
⑦     MS-DOS(バッチスクリプト)
です。
 
そして、近年では、金融業界としては珍しく新しい言語を利用され始めています。
それが「RPA」です。
 
代表的な言語から最近利用され始めた言語まで、一つ一つ順番に説明していきます。

COBOL

1959年に事務処理用に開発されたプログラミング言語です。
名称は「Common Business Oriented Language」(共通事務処理用言語)の頭文字をとっています。
当時は、アセンブラ(機械語)以外の方法でコンピュータを動かすという意味で高級言語と呼ばれていたこともありましたが、現在のように多種多様なプログラミング言語が存在している状況下では、それらモダンなプログラミング言語と比較すると、高級とは言い難くなってきています。
COBOLでは、Javaでは当たり前のように、コンパイルを行い、エラーを検知することができますが、COBOLではこのコンパイルでエラーにできるような機能は備えていないです。
では、一体どのようにコーディングするか見てみましょう。

1.変数

では、まずはどのプログラミング言語でもコーディングする「変数」定義の仕方を見てみましょう

これは、6バイトを使用して6桁の正の整数を定義したことになります。

これのどこがデータ型を表すかわかりますか?
見方としては、「ICOUNT」が変数名で、「9(6)」がデータ型です。

<データ型の一覧>
数値項目は↓の表を参照ください

文字列項目は↓の表を参照ください。

2.MOVEによる転記

COBOLではいくつかの変数を1つのグループにまとめて扱うことができます。
以下のコードでは2つの集団項目を定義しています。

GROUP01は2つの文字列型変数(STR1,STR2)を内包し、GROUP02は2つの数値型変数(NUM1,NUM2)を内包しています。

2つの集団項目間でデータの転記(転写)を行うこともでき、以下がそのコード例です。

このコーディングをすることで、GROUP01→GROUP02への転記を行うことができます。
ここで一つ気づくことはないでしょうか?
これに気づくことができた人は、プログラミングの才能があります!

そうなんです。GROUP01、GROUP02でデータ型が異なっています。
前段でご説明した通り、GROUP01は文字列型で、GROUP02は数値型です。

このように、COBOLでは、データ型が異なる変数同士で転記ができてしまい、コンパイルがないため、このデータ型の考慮は、プログラマーが気にする必要があります。

3.COPY文による複製

COBOLでは、変数を複製する際には、COPY文を使用します。

これは、指定されたファイルをこの行に展開することを表しています。
このコーディングをすることで、同じファイルや、変数が利用できるようになります。

4.CALL文による受け渡し

COBOLでは、他のプログラムを呼び出す際には、CALL文を使用します。
呼び出し側と、呼び出される側の間でデータの受け渡し行う場合、それらの構造は同じでなければなりません。COBOLでデータ受け渡し用の集団項目を定義する場合、以下のようになります。

呼び出し側

この場合DATE1は型を宣言していると同時に、変数も宣言していることになります。

呼び出される側

COBOLのプログラム呼び出しは、型安全な機構によりサポートされている訳ではなく、あくまでも、アドレス渡しで呼び出しが行われています。

まとめ

いかがでしたでしょうか?
まずは金融業界の基幹部分で利用されているCOBOLの説明でした。
JAVAなどの言語を普段から利用されている人にとっては、なじみのないコーディングの仕方だったと思うので、少し新鮮だったのではないでしょうか?
 
ただ、ご紹介はしましたが、昔からあるシステムでしか利用していないので、これからこの言語の勉強を始めるのは、あまりお勧めはしていません。
昔はこういう言語を利用していたんだ。というイメージでいていただければなと。
 
さて、次回からは、2~3つの言語を一気に紹介していこうと思います。
 
金融業界にお勤めの方や、金融業界のシステムを構築してみたい方は、ぜひこの企画を見て勉強してみてくださいね。
 
では、また次の記事でお会いしましょう!

エンジニアのみなさまへ

フリーランスとしてより良い職場環境に行きたい・会社員だけどフリーランスになりたい等のお悩みはありませんか?
エンジニアファーストを運営している株式会社グラントホープでは転職の相談を受け付けております。

  1. 1.スキルに見合った正当な報酬を
  2. 2.忙しく働く方へ自分と向き合う時間を
  3. 3.キャリア形成のサポートを

みなさまへ新しい働き方を提案し、オンラインや対面のご相談でご希望に沿ったキャリア形成を全力でサポートいたします!

登録・応募はページ
チャットボットから!

土谷 貴志(つちたに たかし)

土谷 貴志(つちたに たかし)

システムエンジニアとして案件をこなしつつ、ライターとして執筆活動にもチャレンジ中。株式会社グラントホープ所属のフリーランスエンジニア。 システムエンジニアの他に、キャリアコンサルタントとして若者のキャリア支援や、LifeTime-Smileというコミュニティ運営など幅広く事業を展開中。 ごく稀に、コミュニティメンバーの記事を投稿するかも。お楽しみに! LifeTime-Smile:https://www.lifetime-smile.com/