COBOL (COmmon Business Oriented Language)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:48, 27 апреля 2017.
COBOL(COmmon Business Oriented Language)
666.png
Парадигма Процедурный, объектно-ориентированный
Спроектировано Grace Hopper, Howard Bromberg, Howard Discount, Vernon Reeves, Jean E. Sammet, William Selden, Gertrude Tierney
Разработчики CODASYL, ANSI, ISO
Первый   появившийся 1959; 61 years ago (1959)
Стабильная версия ISO/IEC 1989:2014 / 2014
Печать дисциплины Weak, static
Расширение файла .cbl, .cob, .cpy
Главная реализация
GnuCOBOL, IBM COBOL, Micro Focus Visual COBOL
Диалект
ACUCOBOL-GT, COBOL-IT, COBOL/2, DEC COBOL-10, DEC VAX COBOL, DOSVS COBOL, Fujitsu COBOL, Hitachi COBOL2002, HP3000 COBOL/II, IBM COBOL SAA, IBM COBOL/400, IBM COBOL/II, IBM Enterprise COBOL, IBM ILE COBOL, IBM OS/VS COBOL, ICL COBOL, isCOBOL, Micro Focus COBOL, Microsoft COBOL, Realia COBOL, Ryan McFarland RM/COBOL, Ryan McFarland RM/COBOL-85, Tandem (NonStop) COBOL85, Tandem (NonStop) SCOBOL, UNIVAC COBOL, Unisys MCP COBOL74, Unisys MCP COBOL85, Unix COBOL X/Open, Visual COBOL, Wang VS COBOL
Под влиянием
AIMACO, C++, COMTRAN, Eiffel, FACT, FLOW-MATIC, Smalltalk
Влияние
CobolScript, PL/I

COBOL (англ. COmmon Business Oriented Language) — один из старейших языков программирования, предназначенный, в первую очередь, для разработки бизнес-приложений. Около 50 лет назад, комитет, состоявший из представителей шести крупнейших, на то время, производителей компьютеров и трёх правительственных агентств, выбрал для нового языка имя — COBOL, от Common Business-Oriented Language. Язык пережил многих своих создателей, и даже сейчас используется очень широко. К счастью, или к сожалению, в России он почти неизвестен, но в США, судя по статистике от Datamonitor до сих пор пишется до 5 миллионов строчек кода на Коболе ежегодно.

Основная сфера применения — банковская сфера, телефонные операторы, правительственные агентства.

История

Грейс Хоппер- cоздатель COBOL

Руководителем проекта по созданию Кобола была женщина — Грейс Хоппер , часто ее называют "бабушка Кобола". Грейс делала свои первые шаги программирования в резерве ВМС США, набирая машинный код для компьютера Harvard Mark I в течение Второй Мировой Войны. В конце 1950-х она пришла к мысли, что языки ЭВМ можно было бы сделать похожими на человеческий язык, и тем самым более понятными, чем используемые тогда ассемблер и машинный код. В 1959 году совещание в Пентагоне даёт начало компьютерному языку, который позднее станет известен как “Кобол” (COBOL) и будет основным средством бизнес-вычислений в последующие 40 лет.[Источник 1]

“Кобол”, сокращённо от Common Business-Oriented Language (Общий бизнес-ориентированный язык программирования), был одним из первых компьютерных языков. И, наряду с “Фортраном”, он был одним из первых языков программирования, основанных на английской лексике.Всего было выпущено пять стандартов языка: COBOL-60, COBOL-68, COBOL-74, COBOL-85, COBOL 2002.

Спецификация COBOL

COBOL-60

Язык был утвержден исполнительным Комитетом 3 января 1960 года, и отправлен в государственную типографию. Заявленные цели языка определялись эффективной и портативной программой для легкого написания,а также для того, чтобы пользователи могли переходить на новые системы с минимальными усилиями и затратами.

Спецификации были представлены исполнительному Комитету на 4 сентября. Они не оправдали ожиданий: Джозеф Wegstein отметил, что "он содержит шероховатостей и требует некоторых дополнений", и Боб Бемер позже описал их как "мешанина". Комитет дал срок до декабря для улучшения языка.[Источник 2]

Обложка отчета о создании COBOL-60

COBOL-61 - COBOL-65

Многие логические ошибки были найдены в COBOL 60. Неохотно краткосрочный комитет принялся за тотальную зачистку и к марту 1963 г., сообщалось, что COBOL-это синтаксис определяющийся как Algol, несмотря на то,что смысловые неясности остались.Ранние компиляторы COBOL были примитивными и медленными.

В конце 1962 года, IBM объявила, что COBOL будет их основным языком разработки, а развитие COMTRAN прекратится.

Спецификация COBOL была пересмотрена три раза в течение пяти лет после ее публикации. COBOL-60 была заменена в 1961 году на COBOL-61. Этот позже был заменен на COBOL-61 расширенные характеристики в 1963 году, который представил сортировки и отчет писателя объектов.Были добавлены объекты, исправлены недостатки, выявленные Honeywell в конце 1959 года.COBOL издание в 1965 году принес дополнительные пояснения к спецификации и появились средства для обработки массового хранения файлов и таблиц.

COBOL-68

Начались усилия по стандартизации COBOL и по преодолению несовместимости между версиями. В конце 1962 года ISO и ANSI сформировали группы для создания стандартов. ANSI произвел стандартный COBOL Х3.23 в августе 1968 года, который впоследствии стал основой для более поздних версий.Эта версия стала известна, как американский Национальный Стандарт COBOL и был принят ISO в 1972 году.

COBOL-74

К 1970 году, COBOLстал самым широко используемым языком программирования в мире.

Независимо от ANSI комитета, комитет CODASYL работает над совершенствованием этого языка программирования. CODASYL рассказала о новых версиях в 1968, 1969, 1970 и 1973, включая такие изменения, как новое межпрограммное общение, отладки и объединения файлов, а также улучшенную обработку строк и библиотек. И хотя CODASYL была независима от ANSI комитета, CODASYL был использован ANSI для идентификации функций для гарантирования реализации. В 1974 году ANSI опубликовал пересмотренный вариант COBOL, содержащий такие новые функции, как сегментацию модуля.

COBOL-85

В июне 1978 года начались работы по пересмотру COBOL-74. Предложенный стандарт существенно отличался от предыдущего, вызывая опасения по поводу несовместимости и конверсионных расходов. Г-н Брофи описывал предыдущие преобразования как "непродуктивные" и "трата наших программных ресурсов".

В течение первого периода публичного рассмотрения, комитет получил 2,200 ответов, 1700 из них были письмами отрицательной формы. Остальные ответы были детальным анализом влияния COBOL-80 на их системы. Меньше дюжины ответов были в пользу предложенного стандарта.

COBOL 2002 и объектно-ориентированный COBOL

В 1997 году, группа компании Gartner подсчитали, что в общей сложности из 200 миллиардов строк 80% всех бизнес-программ производились на COBOL.

В начале 1990-х годов начались работы по добавлению объекта-ориентации в следующей полной ревизии COBOL. Объектно-ориентированные средства были взяты из С++ и языка smalltalk.Некоторые производители (в том числе микро-Фокус, компания Fujitsu, и корпорация IBM) представила объектно-ориентированный синтаксис, основанный на проекты полного пересмотра. Окончательный утвержденный стандарт ISO был утвержден и опубликован в конце 2002 года.

COBOL 2014

Между 2003 и 2009, три технических отчеты выпустились с описанием объекта доработки в XML обработке и набора классов для COBOL.

COBOL 2002 страдал от плохой поддержки: нет компиляторов полностью поддерживающих стандарт. Это было из-за отсутствия пользовательского спроса на новые функции.

COBOL 2014 включает в себя следующие изменения:

  • Портативные арифметические результаты были заменены на стандарт IEEE 754
  • Основные характеристики были сделаны необязательными, такие как VALIDATE объекта.
  • Перегрузка метода
  • Динамическая емкость таблицы

Языковые особенности

Синтаксис

Cobol имеет английский синтаксис, который используется, чтобы описать почти все в программе. Например, условие может быть выражено x IS GREATER THAN y или более кратко, как x GREATER y или x > y. Можно использовать и более сложные условия, при этом нужно удалить повторяющиеся условия и переменные. Например, a > b AND a > c OR a = d можно сократить до a > b AND c OR = d. В следствие этого, синтаксис COBOL имеет более чем 300 запросов,и некоторые из ключевых слов являются альтернативой простому или множественному числу написания одного и того же слова, которое предоставляет дополнительные английские предложения; например, IN и OF ключевые слова могут быть взаимозаменяемы, как IS и ARE или VALUE и VALUES.

Каждая COBOL программа состоит из четырех основных лексических единиц: слов, литералов, картинок персонажа-строки и сепараторов. Слова включают зарезервированные слова и пользовательские идентификаторы. Они не превышают 31 символ и могут включать буквы, цифры, дефисы и подчеркивания. Литералы включают цифры (например, 12) и строки (например 'Hello!'). Сепараторы включают в себя пробел, запятые и точки с запятой.

COBOL требует чёткого структурирования файлов с исходным кодом программ. Каждая из них должна состоять из четырёх частей (в терминах COBOL - разделов):

  • Раздел идентификации записывается название программы, её автор, а также различные комментарии по поводу того, что программа должна делать (и что она делает на самом деле).
  • Раздел среды описывает периферийное оборудование, необходимое для работы программы.
  • Раздел данных описываются типы и структуры данных, которые используются в программе (в некотором роде этот раздел - аналог раздела type из Паскаля)
  • Раздел процедур находится, собственно, то, что сейчас называют программным кодом, то есть, алгоритмическая часть программы.

Строение языка COBOL основано на статической структуре времени выполнения. Не требуется организации управления ресурсами памяти во время выполнения программы, и многие аспекты языка были разработаны для того, чтобы позволить использовать относительно эффективные структуры времени выполнения (хотя эти цели не так важны, как аппаратная независимость и возможность переносимости программ).

Большинство программ читается легко, поскольку в этом языке используется синтаксис, подобный синтаксису английского языка. Для улучшения читаемости программы можно использовать многочисленные необязательные, так называемые шумовые, слова. Синтаксис языка COBOL обеспечивает легкую читаемость программы, однако затрудняет написание, потому что даже самая простая программа получается довольно длинной.

COBOL часто критиковали за его многословие. Сторонники говорят, что он был предназначен для того, чтобы облегчить программу обслуживания.COBOL был также предназначен для легкого использования и освоения программистами,но и в то же время понятным для не технического персонала, такого как диспетчеры.Стремление к доступной читаемости привело к использованию английского языка и его структурных элементов, таких как существительные, глаголы и т.д.[Источник 3]

Влияние на другие языки программирования

Структуры данных COBOL повлияли на последующие языки программирования. Его записи и файловая структура влияет на PL/I и Паскаль. Явная структура файла предшествовала развитию систем управления базами данных и, в связи с этим, произошел значительный прогресс, по сравнению с массивом Фортран.

COBOL-это COPY сооружение, хотя и считалось примитивным,но в итоге повлияло на развитие директивы include.

Акцентом, на переносимость и стандартизацию программы написанной на COBOL ,является портативность, которая способствует распространению языка широкому спектру аппаратных платформ и операционных систем.

Масштабы использования

Кобол обычно критикуется за многословность и громоздкость, поскольку одной из целей создателей языка было максимально приблизить конструкции к английскому языку. (До сих пор Кобол считается языком программирования, на котором было написано больше всего строк кода). Так широко известно высказывание Дейкстры: “Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление”.

В то же время, COBOL имел прекрасные для своего времени средства для работы со структурами данных и файлами, он стал первым языком, в котором появился тип данных “запись”. Это обеспечило ему долгую жизнь в бизнес-приложениях, по крайней мере, в США.

Согласно исследованию Gartner от 2001 года (в случае с данным конкретным языком это вполне можно назвать “недавно”), 85% мирового объема бизнес-информации обрабатывалось на языке COBOL, а к текущему моменту объем кода, написанный этим языком программирования, начинает снова увеличиваться. Компания Micro Focus, занимающаяся разработкой и продажей инструментов модернизации COBOL, заявляет, что 70% мирового бизнеса до сих пор активно использует этот язык. Общая стоимость используемого в настоящее время кода COBOL оценивается в 2 триллиона долларов США. До сих пор ежегодно пишутся миллиарды новых строк кода на COBOL.[Источник 4]

См. также

Источники

  1. Алгоритмический язык программирования // www.bourabai.kz URL:http://www.bourabai.kz/alg/cobol.htm (дата обращения: 12.04.17.)
  2. COBOL // Википедия. [2016-2016] URL:https://en.wikipedia.org/wiki/COBOL#cite_note-FS2003-70 (дата обращения: 12.04.17.)
  3. Кобол // www.kv.by URL: https://www.kv.by/archive/index2008301109.htm (дата обращения: 12.04.17.)
  4. COBOL programming // www.csis.ul.ie URL: http://www.csis.ul.ie/cobol/ (Дата обращения: 12.04.17)