Кобол
Кобол | |
---|---|
Класс языка |
процедурный, объектно-ориентированный |
Появился в | 1959 |
Автор | Грейс Хоппер, Вильям Селден, Гертруда Тирни, Говард Бромберг, Говард Дискаунт, Вернон Ривз, Джин Е. Саммет |
Выпуск | 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 (/ ˈkoʊbɒl, -bɔːl /; аббревиатура от «common business-oriented language») — это компилируемый компьютерный язык программирования, предназначенный для использования в бизнесе. Кобол использует англоязычные ключевые слова, хотя существовали его реализации с переводом ключевых слов на другие языки, в частности — на русский. Это императивный, процедурный и, с 2002 года, объектно-ориентированный язык. COBOL в основном используется в деловых, финансовых и административных системах для компаний и правительств. COBOL по-прежнему широко используется в приложениях, развернутых на мэйнфреймах, таких как крупномасштабные пакетные задания и задания по обработке транзакций. Однако из-за снижения его популярности и ухода на пенсию опытных программистов COBOL программы переводятся на новые платформы, переписываются на современные языки или заменяются специализированными пакетами программного обеспечения[2]. Большая часть программирования на COBOL теперь предназначена исключительно для поддержки существующих приложений; однако многие крупные финансовые учреждения еще в 2006 году все еще разрабатывали новые системы на языке COBOL[3].
COBOL был разработан в 1959 году комитетом CODASYL. Язык частично основан на языке программирования FLOW-MATIC, ранее разработанном под руководством Грейс Хоппер. В связи с активным участием в разработке этого языка, Грейс Хоппер часто называют «бабушкой Кобола». Кобол первоначально разрабатывался в рамках усилий Министерства обороны США по созданию переносимого языка программирования для обработки данных. В то время это рассматривалось как временное решение, но Министерство обороны незамедлительно заставило производителей компьютеров реализовывать компиляторы Кобола на поставляемых министерству машинах, что привело к его широкому распространению[4]. Язык был стандартизирован в 1968 году и с тех пор пересматривался четыре раза. Расширения включают поддержку структурированного и объектно-ориентированного программирования. Текущий стандарт — ISO / IEC 1989: 2014[5].
Разработка языка по-прежнему продолжается, последний принятый стандарт был утверждён в 2014 году[6].
Кобол обычно критикуется за многословность и громоздкость, поскольку одной из целей создателей языка было максимально приблизить конструкции к английскому языку (ещё в 2006 году Кобол считался языком программирования, на котором было написано больше всего строк кода[7]), так, широко известно высказывание Дейкстры «Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление». В то же время, Кобол имел прекрасные для своего времени средства для работы со структурами данных и файлами, стал первым языком, в котором появился тип данных «запись»[8], это обеспечило ему долгую жизнь в бизнес-приложениях, по крайней мере, в США.
К 1997 году активно использовалось около 240 миллиардов строк кода на Коболе, кодом на Коболе обрабатывалось около 90 % финансовых транзакций в мире и 75 % коммерческих транзакций, общая стоимость используемого кода — 2 трлн долларов США[9].
Программы на Коболе имеют синтаксис, схожий с синтаксисом английского языка. Он был разработан таким, чтобы быть самодокументированным и легко читаемым. Однако он достаточно многословный и использует более 300 зарезервированных слов. В отличие от современного сжатого синтаксиса, такого как y = x;
, COBOL имеет синтаксис, более похожий на английский (в данном случае MOVE x TO y
). Код COBOL разделен на четыре части (идентификация, среда, данные и процедура), содержащих жесткую иерархию разделов, абзацев и предложений. Не включая в себя большую стандартную библиотеку, стандарт языка определяет 43 оператора, 87 функций и только один класс.
Представители академической науки, занимавшиеся разработкой вычислительной техники, в то время не интересовались бизнес-приложениями, на создание которых был ориентирован COBOL, и не участвовали в его разработке. Язык был (эффективно) разработан с нуля как компьютерный язык для бизнеса с упором на ввод/вывод. Единственными типами данных Кобола были числа и текстовые строки[10].
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.
- ↑ 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 года.
- ↑ 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.
- ↑ 14:00-17:00. ISO/IEC 1989:2014 (англ.). ISO. Дата обращения: 2 октября 2021.
- ↑ ISO/IEC JTC1/SC22/WG4 - COBOL . web.archive.org (14 февраля 2014). Дата обращения: 2 октября 2021.
- ↑ Десять вымирающих профессий в сфере IT . Дата обращения: 6 мая 2011. Архивировано 14 июня 2011 года.
- ↑ Язык программирования Кобол Архивная копия от 16 ноября 2011 на Wayback Machine, Вычислительная техника и её применение № 10’88
- ↑ Is Your Next Language COBOL? . Дата обращения: 4 июня 2009. Архивировано 15 июня 2009 года.
- ↑ A History of Computer Programming Languages . cs.brown.edu. Дата обращения: 2 октября 2021. Архивировано 26 июля 2021 года.
Литература
- Роберт В Себеста. 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 заработал в облачной среде