0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

クラウド開発環境PaizaCloudクラウドIDEでHello World(COBOL編)

Posted at

はじめに

今回の記事は以下の記事からの続きです。
クラウド開発環境PaizaCloudクラウドIDEでHello World(Python編)

今回はCOBOL編です。PaizaCloudではCOBOLコンパイラも無料版の初期状態で利用可能です。その学習可能になっているという意味でも最新のトレンドからは離れた存在かもしれませんが、「社会を支える静かなインフラ」として重要な役割を持っています。そのCOBOLを現在での実質的人気No.1のPythonの後に取り上げるのもいいかなと思ったのでPythonの次に取り上げました。

COBOLとは

そもそもプログラミングを学習していても、COBOLに馴染みのない方が多いと思います。COBOL(Common Business Oriented Language)は1959年に誕生した歴史あるプログラミング言語です。銀行、保険、公共機関などの基幹システムに長年使われてきたため、いまでも莫大な稼働中資産があります。

Hello World

COBOLでのHello Worldです。

helloWorld.cbl
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLOWORLD.
       PROCEDURE DIVISION.
           DISPLAY "Hello World".
           STOP RUN.

以下でコンパイル出来ます。

$ cobc -x helloWorld.cbl

これで問題がなければ、helloWorldというファイルが出力されます。
それを実行します。

PaizaCloudでのnanoエディタで編集してからの実行例です。
paizacbl.png

COBOLの特徴

  • インデントと構造が厳格
    読みやすさを重視した構文
    桁数や段組みに注意が必要(左に詰めたらコンパイルエラー)

  • 構造化された記述
    IDENTIFICATION DIVISIONなどの部品ごとの区切り

  • 英語に近い文法
    DISPLAY, STOP RUN など直感的に読める

  • 基幹システムに強い
    企業や行政のシステムに長年使われ続けている

  • 膨大な資産
    世界中で動いているCOBOLコードは膨大で、すぐに無くせるものではない

  • 静かなインフラ
    トレンドとは無縁でも、社会の根幹を支えている

  • 長寿命システム
    一度作られたら数十年単位で稼働し続ける

書き方としては英語の文章を書いているような感じです。C言語と比較すると冗長と思えるかもしれないです。私としても「長い」という感じですが、書きやすいし読みやすいという意見もあります。

現場感

COBOLは、大型汎用機(メインフレーム)と呼ばれるコンピュータで今も動いています。銀行の口座処理や保険契約システム、役所の基幹システムなど、毎日当たり前に使っている社会のサービスの裏側にCOBOLが動いています。

最新のフレームワークやクラウド環境とは違い、地味であまり話題になりませんが、止まったら困るインフラ を何十年も支え続けているのです。

補足:大型汎用機(メインフレーム)について

COBOLが今も利用される背景には、大型汎用機(メインフレーム) の存在があります。

  • 1960年代から銀行・保険・行政などで稼働
  • 24時間365日止まらない信頼性と堅牢性
  • 大量データを正確に処理するための設計
  • 今も莫大なCOBOL資産が現役で動き続けている

私も経験ありますが、基本的な操作方法というか運用方法が一般的にイメージするサーバーやパソコンと全然違います。

クラウドや分散システムが普及した今でも、「COBOLと大型汎用機をどう置き換えるか」という課題は残されています。

例えば、今現在で、富士通は2030年度末に大型汎用機の製造・販売から撤退し、5年後の2035年度末で保守を終えると発表しています。

そういう意味では富士通製大型汎用機で稼働しているシステムは開発を伴う移行や代替が必要になるのですが、これはトレンドでは目立たないけれど、社会インフラを静かに支える重要なテーマです。

さいごに

今回の Hello World のプログラムはシンプルですが、COBOLは長年にわたり社会のインフラを支えてきました。PythonやC++とは全く違う文脈で使われ続けている言語です。

若いエンジニアの方の中には何となく配属された部署で大型汎用機とCOBOLで仕事をするはめになったと納得出来ていない場合もあるかもしれないですね。(※私もそうだったかもしれないです。)

COBOLは「古いからやりたくない」と思うかもしれません。
でも、社会の裏側を支えてきた役割を知ると、見え方が変わるはずです。きれいごとかもしれないですが、もし触れる機会があれば「これで世界が動いているんだな」と思ってもらえたら嬉しいです。

ありがとうございます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?