Открыть сервис

COBOL

COBOL (COmmon Business-Oriented Language) — это язык программирования, разработанный в конце 1950-х годов для решения задач в области бизнес-приложений, обработки транзакций и работы с данными в корпоративных информационных системах. Относится к классу императивных языков высокого уровня, ориентированных на структурное программирование. COBOL отличается синтаксисом, близким к естественному английскому языку, что облегчает чтение и сопровождение кода. Несмотря на возраст, язык продолжает использоваться в legacy-системах банковского сектора, государственных учреждений, страховых компаний и других организаций, где критична стабильность и надёжность.

История

Предпосылки создания

В середине 1950-х годов развитие компьютерных технологий в коммерческой сфере столкнулось с проблемой: существующие языки программирования (например, FORTRAN) были ориентированы на численные расчёты и инженерные задачи, а для бизнес-приложений требовался язык, способный эффективно обрабатывать большие объёмы записей, выполнять сортировку, генерировать отчёты и работать с файлами ввода-вывода. Кроме того, код на ассемблере был трудночитаем и дорог в поддержке.

Разработка

В апреле 1959 года по инициативе Министерства обороны США была созвана конференция представителей производителей компьютеров (IBM, Remington Rand, Burroughs и других) и пользователей. На встрече в Пентагоне было решено создать комитет для разработки стандарта бизнес-языка. В мае 1959 года образован Комитет по языкам систем обработки данных (CODASYL), который возглавил Джозеф Вегштейн. Первая спецификация языка была опубликована в декабре 1960 года — она получила название COBOL-60.

Стандартизация

С 1960-х годов COBOL прошёл несколько этапов стандартизации. Первым официальным стандартом стал ANSI X3.23-1968, затем — ANSI X3.23-1974 (COBOL-74) и ANSI X3.23-1985 (COBOL-85). В 2002 году вышла версия стандарта ISO/IEC 1989:2002, добавившая объектно-ориентированные возможности. Последняя редакция — ISO/IEC 1989:2023, которая включает поддержку современных парадигм (например, управление памятью, свободный формат кода, Unicode).

Синтаксис и структура

COBOL отличается от большинства языков XX века строгой структурой программы, разбитой на четыре основные дивизиона (division):

Данные в COBOL описываются с помощью иерархических уровней (01, 02, 03 …), что удобно для представления структурированных записей (например, полей карточек клиентов). Типичные типы данных: PIC (PICTURE) — для числовых и символьных полей с фиксированной длиной; COMP (COMPUTATIONAL) — для двоичных чисел; DISPLAY — для символьных строк.

Пример фрагмента:

``cobol 01 CUSTOMER-RECORD. 05 CUST-ID PIC 9(9). 05 CUST-NAME PIC X(40). 05 CUST-BALANCE PIC S9(7)V99. ``

PROCEDURE DIVISION содержит операторы, такие как MOVE, ADD, SUBTRACT, IF, PERFORM (циклы), OPEN/READ/WRITE/CLOSE для файлов. Отличительная черта — отсутствие точки с запятой как разделителя; каждая строка заканчивается точкой.

Особенности и критика

Преимущества

Недостатки

Применение

По состоянию на 2024 год, по оценкам различных аналитиков, в мире выполняется от 200 до 300 миллиардов строк кода на COBOL, из которых значительная часть активна. Основные сферы:

Современное состояние и миграция

В 2010-х годах возникла проблема дефицита специалистов: пик популярности COBOL пришёлся на 1960–1980-е годы, а с уходом на пенсию старшего поколения программистов стало сложно поддерживать legacy-системы. Отмечались сбои в работе критических инфраструктур (например, в 2020 году в Нью-Джерси сбой в системе пособий по безработице был связан с COBOL-программой). В ответ правительства и компании запустили программы обучения и миграции. В ряде случаев код на COBOL переводят на Java, C#, Python или микросервисную архитектуру с использованием платформ для mainframe (например, IBM z/OS Connect, Micro Focus Enterprise Developer). Тем не менее, полная замена экономически нецелесообразна: поддержка старых систем обходится дешевле, чем переписывание миллионов строк с сохранением бизнес-логики и тестированием.

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →