Кобол


Кобол (COBOL, от англ. common business-oriented language) — компилируемый язык программирования, созданный в 1959 году комитетом CODASYL как переносимый язык для обработки деловых данных. В качестве основы взят более ранний язык FLOW-MATIC, созданный под руководством Грейс Хоппер (известной в связи с этим как «бабушка Кобола»).

Язык использует англоязычные ключевые слова и его синтаксис приближён к целостным предложениям на английском языке, тем самым обеспечивается легкочитаемость и самодокументируемость программ; существовали также реализации с переводом ключевых слов на другие языки, в частности — на русский. Изначально — императивный, процедурный, с 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. Кроме того, в развитии языка, как ориентированного на коммерческое применение, практически не принимали участие академические круги, относившиеся к языку со скепсисом, доходящим до крайних форм, так, широко известно высказывание Дейкстры «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление».