Кобол (COBOL, от англ. common business-oriented language) — компилируемый язык программирования, созданный в 1959 году комитетом CODASYL как переносимый язык для обработки деловых данных. В качестве основы взят более ранний язык FLOW-MATIC, созданный под руководством Грейс Хоппер (известной в связи с этим как «бабушка Кобола»).
Кобол | |
---|---|
Класс языка |
процедурный, объектно-ориентированный |
Появился в | 1959 |
Автор | Грейс Хоппер, Вильям Селден, Гертруда Тирни, Говард Бромберг, Говард Дискаунт, Вернон Ривз, Джин Е. Саммет |
Разработчик | ИСО, CODASYL и Национальный институт стандартов США |
Расширение файлов |
.cbl , .cob или .cpy |
Выпуск | ISO/IEC 1989:2014[1] (июнь 2014 ) |
Система типов | строгая, статическая |
Основные реализации | OpenCOBOL, Micro Focus International |
Диалекты | HP3000 COBOL/II, COBOL/2, IBM OS/VS COBOL, IBM COBOL/II, IBM COBOL SAA, IBM Enterprise COBOL, IBM COBOL/400, IBM ILE COBOL, Unix COBOL X/Open, Micro Focus COBOL, Microsoft COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, DOSVS COBOL, UNIVAC COBOL, Realia COBOL, Fujitsu COBOL, ICL COBOL, ACUCOBOL-GT, DEC VAX COBOL, Wang VS COBOL, Visual COBOL |
Испытал влияние | FLOW-MATIC, COMTRAN, FACT |
Повлиял на | PL/I, CobolScript, ABAP |
![]() |
Язык использует англоязычные ключевые слова и его синтаксис приближен к целостным предложениям на английском языке, тем самым обеспечивается легкочитаемость и самодокументируемость программ; существовали также реализации с переводом ключевых слов на другие языки, в частности — на русский. Изначально — императивный, процедурный, с 2002 года — также и объектно-ориентированный. Основные типы данных — числа, текстовые строки[2], впервые в языках программирования введена структура данных «запись», впоследствии применённая в большинстве прочих языков. Программа на Коболе разделяется на четыре части (идентификация, среда, данные и процедура), содержащих жёсткую иерархию разделов, абзацев и предложений.
Начальное распространение языка во многом связано с инициативой Министерства обороны США, считавшего Кобол удобным и переносимым языком для обработки данных и требовавшего от производителей реализации Кобола в поставляемых машинах[3]. В 1960-х — начале 1970-х годов стал основным языком разработки деловых и экономических программных систем. Хотя с 1980-х годов считается устаревшим, к 1997 году активно использовалось около 240 млрд строк кода на Коболе, кодом на Коболе обрабатывалось около 90 % финансовых транзакций в мире и 75 % коммерческих транзакций, общая стоимость используемого кода — 2 трлн долларов США[4]; по состоянию на 2020-е годы язык по-прежнему широко используется во многих приложениях, особенно для мейнфреймов[5]. Большая часть современного программирования на Коболе предназначена для поддержки существующих приложений; однако многие крупные финансовые учреждения ещё в 2006 году всё ещё разрабатывали новые системы на языке[6].
Язык был стандартизирован в 1968 году и с тех пор пересматривался четыре раза. Расширения включают поддержку структурированного и объектно-ориентированного программирования. Текущий стандарт — ISO / IEC 1989: 2014[7][8]. Стандарт языка определяет 43 оператора, 87 функций и один класс, зарезервировано 300 ключевых слов.
Основная критика языка связана с его «многословием» — программы в связи с синтаксическим решением оказываются громоздкими, например, присваивание, выражаемое в си-подобных языках как y = x;
, записывается как MOVE x TO y
. Кроме того, в развитии языка, как ориентированного на коммерческое применение, практически не принимали участие академические круги, относившиеся к языку со скепсисом, доходящим до крайних форм, так, широко известно высказывание Дейкстры «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление».
Hello world
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
*
ENVIRONMENT DIVISION.
*
DATA DIVISION.
*
PROCEDURE DIVISION.
PARA-1.
DISPLAY "Hello, world.".
*
EXIT PROGRAM.
END PROGRAM HELLO-WORLD.