Кобол
Кобол | |
---|---|
Класс языка | процедурный, объектно-ориентированный |
Появился в | 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 |
Медиафайлы на Викискладе |
Кобол (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.
Примечания
- ↑ "ISO/IEC 1989:2014". Архивировано 5 апреля 2022. Дата обращения: 5 апреля 2022.
- ↑ A History of Computer Programming Languages . cs.brown.edu. Дата обращения: 2 октября 2021. Архивировано 26 июля 2021 года.
- ↑ 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.
- ↑ Is Your Next Language COBOL? Дата обращения: 4 июня 2009. Архивировано 15 июня 2009 года.
- ↑ Robert L. Mitchell. Brain drain: Where Cobol systems go from here (англ.). Computerworld (14 марта 2012). Дата обращения: 2 октября 2021. Архивировано 2 октября 2021 года.
- ↑ Robert L. Mitchell. Cobol: Not Dead Yet (англ.). Computerworld (4 октября 2006). Дата обращения: 2 октября 2021. Архивировано 2 октября 2021 года.
- ↑ 14:00-17:00. ISO/IEC 1989:2014 (англ.). ISO. Дата обращения: 2 октября 2021.
- ↑ ISO/IEC JTC1/SC22/WG4 - COBOL . web.archive.org (14 февраля 2014). Дата обращения: 2 октября 2021. Архивировано из оригинала 2 сентября 2013 года.
Литература
- Роберт В Себеста. 2.6. Компьютеризация коммерческих записей: язык COBOL // Основные концепции языков программирования = Concepts of Programming Languages. — 5-е изд. — М.: «Вильямс», 2001. — С. 672. — ISBN 5-8459-0192-8.
- Стандарты
- ISO/IEC 1989:2002 Information technology — Programming languages — COBOL Архивная копия от 25 октября 2012 на Wayback Machine
- ГОСТ 22558-89 Язык программирования КОБОЛ
- Бабенко Л. П., Богданова Г. С., Загузова Л. К., Первин Ю. А., Романовская Л. М., Ющенко Е. Л. Государственный стандарт 22558-77 «Язык программирования Кобол». ГК стандартов СМ СССР, М., 1977.
Ссылки
- Отчёт комитета CODASYL 1960 года по языку COBOL Архивная копия от 4 марта 2016 на Wayback Machine (англ.) на сайте bitsavers.org
- COBOL programming — tutorials, lectures, exercises, examples Архивная копия от 2 января 2005 на Wayback Machine
- COBOL User Groups (COBUG)
- Языку программирования COBOL скоро (2009) исполнится 50 лет
- Язык программирования Cobol заработал в облачной среде