Имя языка составлено из первых букв названия COBOL - COmmon Business - Oriented Language, что дословно означает "общий язык деловой ориентации". Язык этот ориентирован на обработку экономической информации. Он разработан рабочей группой, созданной под эгидой исполнительного комитета по языкам систем обработки данных Кодасил (CODASYL - Conference on Data System Languages).
Работы над первой версией языка завершены в декабре 1959 г., а в феврале 1960 г. опубликован предварительный отчет. На разработку КОБОЛ-60 потребовалось около 4 человеко-лет. Корни КОБОЛа уходят к ранним, мало известным языкам программирования ФЛОУМАТИК, КОМТРАН и ФАКТ, а АЛГОЛ повлиял на выбор символов для КОБОЛа. Первые компиляторы КОБОЛа созданы в декабре 1960 г. одновременно двумя фирмами RCA и Remington - Rand - Univas.
При разработке КОБОЛа ставились цели - сделать язык машиннонезависимым и приблизить его к естественному языку, с тем чтобы для непрофессионального программиста программы были читаемыми. По утверждению многих пользователей, с этой точки зрения КОБОЛ, возможно, самый лучший в отличие от других языков программирования, имеющих формальный синтаксис. В КОБОЛе взят синтаксис английского предложения, поэтому программы на этом языке легко читать.
КОБОЛ был первым языком, в котором средства описания данных соответствуют процедурным возможностям, и первым языком, в котором введен тип данных "запись", являющийся основной структурой данных. К одной из примечательных особенностей КОБОЛа относится рекурсивное описание данных. Другая его особенность в том, что программы на КОБОЛе разбиваются на части, называемые разделами, причем каждая программа состоит из четырех разделов: идентификации, оборудования (среды), данных и процедур.
Раздел идентификации служит для установления тождественности программы и содержит различные пояснения, необходимые для ее документирования. Раздел оборудования содержит данные об используемом оборудовании, в основном периферийном. Раздел данных содержит информацию о типе и структуре данных, организации и распределении памяти и т. п. Раздел процедур содержит алгоритмы вычислений. В свою очередь, эти основные части программы разбиваются на более простые: секцию, параграф, предложение и слово.
Еще одна отличительная черта КОБОЛа - это его постоянное изменение и совершенствование. Вслед за появлением КОБОЛа-60 в следующем году была опубликована вторая версия под названием "КОБОЛ-61", которая получила широкое распространение, однако имела некоторую несовместимость с КОБОЛом-60. В 1963 г. была опубликована расширенная версия языка, названная "Расширенный КОБОЛ-60". Два года спустя появилась новая версия с несколько необычным именем: "КОБОЛ, редакция 1965". Эта версия в качестве американского национального стандарта утверждена в 1968 г. Однако работы по усовершенствованию языка и выработке новых версий продолжаются.
Измененный американский стандарт КОБОЛа принят в 1974 г. с соответствующим названием - КОБОЛ-74. В настоящие время в Американском национальном институте стандартов (ANSI) заканчивается разработка другого стандарта КОБОЛа, который предусматривает введение ряда новых конструкций в язык и отказ от некоторых редко используемых или неудобных операторов и т.д. Новый стандарт предусматривает также значительное сокращение различных подмножеств языка.
В СССР первые компиляторы с подмножества языка КОБОЛ реализованы в 1968 г. на ЭВМ "Днепр-21" и "Минск-32", а в 1977 г. был принят отечественный стандарт на язык программирования КОБОЛ (ГОСТ 22558-77).
Оценивая вклад этого языка в теорию и практику программирования, нельзя не указать на противоречивый характер отношений к нему пользователей, с одной стороны, и специалистов по информатике, с другой. Если среди программистов он получил распространение благодаря своей удобочитаемости, а может быть, и ранней стандартизации, то многие ученые его появление восприняли как ошибку, а его использование как "болезнь", с которой необходимо бороться. Причем некоторые из ученых, в частности известный голландский специалист по программированию Э. Дейкстра, выражали свое негативное отношение к КОБОЛу в довольно резкой форме (ACM SIGPLAN NOTICE, 1982, v. 17, pp. 13-15). Они возражали против использования английского языка как основы КОБОЛа из-за его несовершенной стилистики. Хорошая читаемость программ, утверждали они, не говорит в пользу КОБОЛа, так как программы с введением многочисленных "шумовых" слов становятся слишком многословными. Из-за большой длины программы компиляторы работают медленно, а кроме того, возникают трудности автоматического обнаружения ошибок во время компиляции.
В заключении отметим: несмотря на то что опыт разработки и применения КОБОЛа, очевидно, мало повлиял на создание языков, появившихся после него (за исключением языка PL/1), все же надо признать, что он оставил заметный след в истории развития языков программирования.
//Вычислительная техника и ее применение N10'88.