2020-12-01に投稿

COBOLってなぁに?その1

この記事は COBOL アドベントカレンダー2020 1日目の記事です。

当分は COBOL についての基本的な話をする予定なので、
多くの部分で wikipedia などの記述とカブると思います。

TL;DR

COBOL とは?

COBOL とはプログラミング言語の1つです。
"Common Business Oriented Language" = 共通 事務処理向けの 言語 という名のように、
開発年といわれている 1959年当時にコンピューターで事務処理をするための
専用言語として登場したプログラミング言語です。
アメリカ国防総省主導で開発されました。

事務処理向けとは

「事務処理向け」というのはどういうことかというと、
COBOLが持っている機能を挙げることで少し理解することができます。

  • ファイルの読み込み
  • データの順次処理
  • データのソート
  • データをまとめる処理(マージ)
  • 大量のデータのファイルへ順次書き込み
  • 帳票の作成
  • 印刷
  • データを10進数で扱うことによる簡易で正確な金額計算

現代のモダンなプログラミング言語はもちろんこれらの言語機能を有しており、
COBOLが「事務処理向け」であると言われてもピンと来ないかもしれません。
しかし、1959年当時はこのような機能を揃えた言語は少なかったのでしょう。
(そもそもプログラミング言語の歴史を紐解くと、
 1959年当時は現在よりも遥かにプログラミング言語の種類自体が少ない状況にありました)

また、事務処理向けとしてCOBOLの目指したものとして言語仕様を強く方向付けたものとして

  • 理系ではない事務員や役人でも扱えるように作られた

ということがあります。

理系ではない事務員や役人でも扱えるように とは

日本語ネイティブ話者であれば、日本語で記述できるプログラミング言語である
「なでしこ」や「ひまわり」と合わせて見てみるとイメージしやすいのですが、
自然言語に近い記法(COBOL の場合は英語)で記述できるというのは、
それだけで記述のハードルが下がるものです。

また、ブロックを組み合わせるようにして開発する「Scratch」を使ってみるとわかるのですが、
数学やアルゴリズムの知識を持ち合わせていなくても、
構文上の約束事さえ覚えて記述することができればプログラムを組むことは可能です。

COBOLは、

  • 自然言語に近い記法で記述できる
  • 数学やアルゴリズムの知識を持ち合わせていなくても記述できる

という点を抑えることで「理系ではない事務員や役人でも扱えるように」考えられています。

では実際にどういう言語記述をしていくのか?
明日以降はもう少しCOBOLでの記述も合わせて、見ていきましょう。

参考リンク

ツイッターでシェア
みんなに共有、忘れないようにメモ

北山淳也

アプリケーションエンジニアをやっています。専門はバックエンドです。リモートワーク歴2年目。 C#, TypeScript, Java, C++, Flutter, COBOL, SQLServer, AWS, Azure

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント