Перейти к основному содержимому

5.16. Первая программа

Разработчику Архитектору Инженеру

Первая программа

Программа на COBOL строится по жесткой иерархической структуре, состоящей из четырех основных разделов: Identification Division, Environment Division, Data Division и Procedure Division. Каждый раздел выполняет свою функцию: идентификация программы, описание среды выполнения, определение данных и описание логики соответственно. Такая структура делает программы предсказуемыми и легко поддерживаемыми, особенно в больших проектах.


Подготовка среды разработки на Windows

Запуск программы на COBOL возможен на современной операционной системе Windows. Для этого требуется установить компилятор COBOL и, при желании, интегрированную среду разработки (IDE). Наиболее популярным и доступным решением для обучения является GnuCOBOL — свободная реализация компилятора COBOL, совместимая со стандартами ANSI COBOL-85 и частично COBOL-2002. GnuCOBOL преобразует исходный код на COBOL в промежуточный C-код, который затем компилируется с помощью GCC (GNU Compiler Collection).

Шаг 1: Установка GnuCOBOL через Windows Subsystem for Linux (WSL)

Самый простой и надежный способ запустить COBOL на Windows — использовать WSL2 (Windows Subsystem for Linux версии 2). Это позволяет запускать полноценное Linux-окружение прямо внутри Windows без необходимости виртуальной машины.

  1. Откройте PowerShell от имени администратора.
  2. Выполните команду:
    wsl --install
    Эта команда автоматически установит WSL2 и дистрибутив Ubuntu (по умолчанию).
  3. После завершения установки перезагрузите компьютер.
  4. При первом запуске Ubuntu будет предложено создать имя пользователя и пароль. Запомните их — они понадобятся для работы в терминале.

Шаг 2: Установка GnuCOBOL в Ubuntu (через WSL)

  1. Откройте приложение Ubuntu из меню «Пуск».
  2. Обновите список пакетов:
    sudo apt update
  3. Установите GnuCOBOL:
    sudo apt install gnucobol -y
  4. Проверьте установку:
    cobc --version
    В ответ вы увидите версию компилятора, например: cobc (GnuCOBOL) 3.1.2.

Шаг 3: Создание первой программы

Откройте текстовый редактор. Рекомендуется использовать Visual Studio Code с расширением COBOL от Simon Sobisch. Это расширение предоставляет подсветку синтаксиса, автозавершение и навигацию по структуре программы.

  1. Создайте файл с именем hello.cob.
  2. Введите следующий код:
       IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.

PROCEDURE DIVISION.
DISPLAY "Hello, World!".
STOP RUN.

Обратите внимание на форматирование: каждая строка начинается с 6 пробелов. Это требование классического COBOL, связанное с тем, что в эпоху перфокарт первые 6 колонок использовались для меток и номеров строк. Современные компиляторы, включая GnuCOBOL, поддерживают свободный формат (-free), но для обучения полезно соблюдать традиционный стиль.

Шаг 4: Компиляция и запуск

  1. Сохраните файл hello.cob в домашней директории WSL (например, /home/ваше_имя/).
  2. В терминале Ubuntu перейдите в эту директорию:
    cd ~
  3. Скомпилируйте программу:
    cobc -x hello.cob
    Флаг -x указывает компилятору создать исполняемый файл (а не объектный модуль).
  4. Запустите программу:
    ./hello
    Вывод в терминале:
    Hello, World!

Альтернатива: использование Visual Studio Code напрямую на Windows

Если вы предпочитаете не использовать WSL, можно установить GnuCOBOL непосредственно в Windows через MinGW-w64 или Cygwin, но этот путь сложнее и менее стабилен. Более удобный вариант — использовать Docker.

  1. Установите Docker Desktop для Windows.
  2. Запустите контейнер с GnuCOBOL:
    docker run -it --rm -v ${PWD}:/work -w /work tianshapjq/gnucobol cobc -x hello.cob
  3. После компиляции запустите исполняемый файл через тот же контейнер:
    docker run -it --rm -v ${PWD}:/work -w /work tianshapjq/gnucobol ./hello

Этот метод изолирует среду разработки и гарантирует совместимость, но требует базового понимания Docker.


Структура программы: пояснение

Разберем каждую часть программы:

  • IDENTIFICATION DIVISION — обязательный раздел, содержащий метаданные программы.

    • PROGRAM-ID. HELLO-WORLD. — задает имя программы. Это имя должно совпадать с именем файла (без расширения) при некоторых конфигурациях компилятора.
  • PROCEDURE DIVISION — раздел, содержащий исполняемую логику.

    • DISPLAY "Hello, World!". — команда вывода текста в консоль.
    • STOP RUN. — завершает выполнение программы и возвращает управление операционной системе.

В простой программе разделы Environment Division и Data Division можно опустить, так как они не используются. Однако в реальных приложениях они необходимы для описания файлов, устройств ввода-вывода и переменных.


Выбор IDE

Для написания COBOL-кода подойдут следующие инструменты:

  • Visual Studio Code с расширением COBOL — лучший выбор для новичков. Поддерживает подсветку, сворачивание блоков, навигацию по разделам, проверку синтаксиса.
  • Notepad++ с пользовательской схемой подсветки COBOL — легковесный вариант без интеграции с компилятором.
  • Eclipse с плагином COBOL Development Tools — подходит для крупных проектов, но требует настройки Java-окружения.
  • OpenCOBOL IDE — устаревшая, но рабочая среда под Windows, основанная на Python. Не рекомендуется из-за отсутствия поддержки.

Для обучения достаточно VS Code + WSL + GnuCOBOL. Эта связка обеспечивает стабильность, простоту и соответствие современным практикам разработки.