プログラミング言語COBOLの習得と、そのための環境構築(仮想OSでUbuntu + GnuCOBOL)

PowerShellカテゴリを表すパンダのイラスト PowerShell

もう、2度と手を出さないと思っていたプログラム言語。。。

しかし、登場しました。今回は

COBOL

今まで全く触ったことも見たこともない!!

でも、、C/C++、Basic等々、いろいろな言語使ってきたし、

COBOLは可読性が高い言語なので、なんとかなりそう。

それよりなにより、これからは発注側だからね!

とても気が楽。

ということで、この手の勉強は、習うより慣れろ

家でCOBOLに慣れる為の、環境の構築をすることにした。

ざっくり調べたところ、COBOLを家のPCで動かすには

オープンソースのCOBOL環境(OpenCOBOL)を使うのが簡単そうだ。

ただ、オープンソースのCOBOL環境は、Windows版はCygwin/MinGW があるようだが、、

MinGW は使ったことがないのでよくわからないし、Cygwinはレジストリをいじられてアンインストールが面倒なのでそれぞれ却下

そこで、仮想OS上で、オープンソースのCOBOL環境にチャレンジすることとした。

当時の手順は以下

1、自分のノートPC(Vista)上で仮想OSを動かすアプリ(Virtual PC)をインストールして動かす

2、仮想OSを動かすアプリ(Virtual PC)上にLinux(Ubuntu)をインストールして動かす

3、Linux(Ubuntu)上に、オープンソースのCOBOL環境(OpenCOBOL)をインストールして動かす


【追記】現代のUbuntuにおけるGnuCOBOL環境構築手順

※かつて「OpenCOBOL」と呼ばれていたプロジェクトは、現在「GnuCOBOL」として開発が継続されています。

現在のUbuntu環境(WSL2や各種仮想化環境、実機を含む)において、GnuCOBOLを導入して簡単なプログラムを実行する手順を以下にまとめます。

1. GnuCOBOLのインストール

Ubuntuの標準パッケージマネージャーを使用して、簡単にインストールが完了します。

sudo apt update
sudo apt install -y gnucobol

2. 動作確認(Hello World)

環境が構築できたかを確認するため、簡単なCOBOLプログラムを作成して実行してみましょう。

任意のテキストエディタで hello.cob という名前のファイルを作成し、以下のコードを記述します。

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO.
       PROCEDURE DIVISION.
           DISPLAY "Hello, World!".
           STOP RUN.

※COBOLは記述する列位置(カラム)に厳密なルールがあるため、各行の先頭には7文字分以上の半角スペース(インデント)を挿入して記述します。

3. コンパイルと実行

作成したソースファイルをコンパイルして実行ファイルを生成します。

cobc -x -o hello hello.cob

生成されたファイルを実行します。

./hello

ターミナルに Hello, World! と出力されれば、環境構築および動作確認は完了です。

参考

・GnuCOBOL 公式サイト(英語)

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月9日

  • 変更誤字「Ubuntsu」を「Ubuntu」に、「Vartual PC」を「Virtual PC」に修正しました。
  • 変更「可読性が高いので言語なので」という重複した表現を「可読性が高い言語なので」に修正しました。
  • 追加OpenCOBOLの後継であるGnuCOBOLについて触れ、現代のUbuntu環境における詳細なインストールおよびHello Worldのコンパイル・実行手順を追記しました。
  • 削除リンク切れしている古い参考外部URLを整理・削除しました。

文書情報

記事タイトル
プログラミング言語COBOLの習得と、そのための環境構築(仮想OSでUbuntu + GnuCOBOL)
作成日
更新日
Source URL
https://papanda925.com/?p=295

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

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