Кобол

Перейти к навигацииПерейти к поиску
Кобол
Класс языкапроцедурный,
объектно-ориентированный
Появился в1959
АвторГрейс Хоппер, Вильям Селден, Гертруда Тирни, Говард Бромберг, Говард Дискаунт, Вернон Ривз, Джин Е. Саммет
РазработчикИСО, CODASYL и Национальный институт стандартов США
Расширение файлов.cbl, .cob или .cpy
ВыпускISO/IEC 1989:2014[1] (июнь 2014; 10 лет назад (2014-06))
Система типов строгая, статическая
Основные реализации 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
Логотип Викисклада Медиафайлы на Викискладе

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

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.

Примечания

  1. "ISO/IEC 1989:2014". Архивировано 5 апреля 2022. Дата обращения: 5 апреля 2022.
  2. A History of Computer Programming Languages. cs.brown.edu. Дата обращения: 2 октября 2021. Архивировано 26 июля 2021 года.
  3. Nathan L. Ensmenger. The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise. — MIT Press, 2012-08-24. — 331 с. — ISBN 978-0-262-30282-1.
  4. Is Your Next Language COBOL? Дата обращения: 4 июня 2009. Архивировано 15 июня 2009 года.
  5. Robert L. Mitchell. Brain drain: Where Cobol systems go from here (англ.). Computerworld (14 марта 2012). Дата обращения: 2 октября 2021. Архивировано 2 октября 2021 года.
  6. Robert L. Mitchell. Cobol: Not Dead Yet (англ.). Computerworld (4 октября 2006). Дата обращения: 2 октября 2021. Архивировано 2 октября 2021 года.
  7. 14:00-17:00. ISO/IEC 1989:2014 (англ.). ISO. Дата обращения: 2 октября 2021.
  8. ISO/IEC JTC1/SC22/WG4 - COBOL. web.archive.org (14 февраля 2014). Дата обращения: 2 октября 2021. Архивировано из оригинала 2 сентября 2013 года.

Литература

Стандарты

Ссылки