Сайт о телевидении

Сайт о телевидении

» » Кобол язык программирования. Язык программирования cobol (кобол)

Кобол язык программирования. Язык программирования cobol (кобол)

Практически все банковские автоматы работают на старом языке программирования COBOL (Common Business-Oriented Language), которому почти 60 лет. Он был разработан в 1959 году как стандартный язык для бизнеса и до сих пор используется в банках по всему миру. В 2014 году 92 из 100 ведущих банков и 71% компаний из списка Fortune 500 пользовались языком COBOL на своих центральных компьютерах.

Вот несколько интересных фактов и цифр об этом языке программирования.

COBOL в цифрах

История происхождения

В 1950-е году было очень мало стандартных языков программирования, и большинство компьютеров работали на персональных вариантах. В 1959 году Министерство обороны США собрало 40 экспертов из правительства и компьютерной индустрии для создания Конференции по языкам систем обработки данных (CODASYL). Они вдохновились стандартным языком программирования FORTRAN, который использовался в научном сообществе, а также языками MATH-MATIC и FLOW-MATIC. В 1960 году COBOL был готов к коммерческому запуску, а к 1970 стал самым популярным компьютерным языком мира.

Изображение: Giphy

Начинающие программисты (а вполне возможно, что и их коллеги с опытом), должно быть, часто спрашивают себя, нужно ли им учить JAVA, или знания JavaScript, Python или Ruby будет вполне достаточно в современном мире. Учитывая спрос на программистов в нынешней экономике, многие находят достойную работу еще учась в университетах, и зачем тогда, спрашивается, представителю этой профессии заглядывать в такое далекое прошлое, как COBOL ?

Согласно исследованию Gartner от 2001 года (в случае с данным конкретным языком это вполне можно назвать «недавно»), 85% мирового объема бизнес-информации обрабатывалось на языке COBOL, а к текущему моменту объем кода, написанный этим языком программирования, начинает снова увеличиваться. Компания Micro Focus , занимающаяся разработкой и продажей инструментов модернизации COBOL, заявляет, что 70% мирового бизнеса до сих пор активно использует этот язык.

И хотя очевидно, что многие из приложений, изначально написанных на COBOL будут переписаны, в Micro Focus уверены, что большая часть оригинального кода все-равно останется в ходу, а приложения будут использоваться еще долгие годы. Они безопасны, стабильны, а компании использующие их, не готовы от них просто так отказаться. Программный менеджер Micro Focus по имени Арунн Рамадосс (Arunn Ramadoss) говорит: «Ни один другой язык неспособен представлять бизнес-данные так точно, как это делает COBOL».

И даже в дни запоздалого выхода на пенсию, инженеров, способных работать с этим языком, становится все меньше и меньше. Кто-то перестает работать, другие уходят на позиции связанные с менеджментом, а не разработкой.

Рамадосс считает, что крупнейшие мировые компании и агенства, в скором времени будут очень заинтересованы в молодых программистах, которые понимают COBOL, равно как и новые технологии, вроде.NET или HTML5, считая, что изучение этого языка программирования сослужит добрую службу всем студентам факультетов программирования, и их выпускникам, так как очень скоро на рынке появится достаточное количество интересных вакансий, связанных с COBOL. Не говоря о том, что этот язык программирования легок в изучении.

По-правде говоря, такие вакансии уже , и чаще всего с пометкой «срочно требуется».

«Дни, когда вы могли быть „исключительно Java-программистом“ или „только C-программистом“ ушли» - говорит Арунн: «Сегодня необходимо знать несколько языков и технологий, а так же то, как они могут быть интегрированы».

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

В качестве примера Рамадосс говорит о бизнес-процессе перевода средств с одного банковского счета, на другой - эта процедура нисколько не изменилась с момента ее создания. Но то, как люди взаимодействуют со своими банковскими счетами и транзакциями, претерпела значительные, если не кардинальные, изменения. Сегодня все хотят получить доступ к счету с помощью ПК или мобильного телефона.

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

Так с чего же начать человеку, который заинтересовался в изучении этого старейшего языка программирования? Лучшим стартом будет веб-сайт cobol.com , где можно найти множество информации о том, как подступиться к этой технологии. Что касается литературы, то общепризнанным эталоном считается книга «The 21st Century COBOL Programmer» от авторов Нэнси Штэрн (Nancy Stern), Роберта Штэрна (Robert A. Stern) и Джеймса Лея (James P. Ley).

И конечно, прямо здесь, на любимом ресурсе, касающиеся этого языка программирования.

Имя языка составлено из первых букв названия COBOL - COmmon Business - Oriented Language, что дословно означает "общий язык деловой ориентации". Язык этот ориентирован на обработку экономической информации. Он разработан рабочей группой, созданной под эгидой исполнительного комитета по языкам систем обработки данных Кодасил (CODASYL - Conference on Data System Languages).

Работы над первой версией языка завершены в декабре г., а в феврале г. опубликован предварительный отчет. На разработку КОБОЛ-60 потребовалось около 4 человеко-лет. Корни КОБОЛа уходят к ранним, мало известным языкам программирования ФЛОУМАТИК, КОМТРАН и ФАКТ, а АЛГОЛ повлиял на выбор символов для КОБОЛа. Первые компиляторы КОБОЛа созданы в декабре г. одновременно двумя фирмами RCA и Remington - Rand - Univas.

При разработке КОБОЛа ставились цели - сделать язык машиннонезависимым и приблизить его к естественному языку, с тем чтобы для непрофессионального программиста программы были читаемыми. По утверждению многих пользователей, с этой точки зрения КОБОЛ, возможно, самый лучший в отличие от других языков программирования, имеющих формальный синтаксис. В КОБОЛе взят синтаксис английского предложения, поэтому программы на этом языке легко читать.

КОБОЛ был первым языком, в котором средства описания данных соответствуют процедурным возможностям, и первым языком, в котором введен тип данных "запись", являющийся основной структурой данных. К одной из примечательных особенностей КОБОЛа относится рекурсивное описание данных. Другая его особенность в том, что программы на КОБОЛе разбиваются на части, называемые разделами, причем каждая программа состоит из четырех разделов: идентификации, оборудования (среды), данных и процедур.

Раздел идентификации служит для установления тождественности программы и содержит различные пояснения, необходимые для ее документирования. Раздел оборудования содержит данные об используемом оборудовании, в основном периферийном. Раздел данных содержит информацию о типе и структуре данных, организации и распределении памяти и т. п. Раздел процедур содержит алгоритмы вычислений. В свою очередь, эти основные части программы разбиваются на более простые: секцию, параграф, предложение и слово.

Еще одна отличительная черта КОБОЛа - это его постоянное изменение и совершенствование. Вслед за появлением КОБОЛа-60 в следующем году была опубликована вторая версия под названием "КОБОЛ-61", которая получила широкое распространение, однако имела некоторую несовместимость с КОБОЛом-60. В г. была опубликована расширенная версия языка, названная "Расширенный КОБОЛ-60". Два года спустя появилась новая версия с несколько необычным именем: "КОБОЛ, редакция 1965". Эта версия в качестве американского национального стандарта утверждена в г. Однако работы по усовершенствованию языка и выработке новых версий продолжаются.

Измененный американский стандарт КОБОЛа принят в г. с соответствующим названием - КОБОЛ-74. В настоящие время в Американском национальном институте стандартов (ANSI) заканчивается разработка другого стандарта КОБОЛа, который предусматривает введение ряда новых конструкций в язык и отказ от некоторых редко используемых или неудобных операторов и т.д. Новый стандарт предусматривает также значительное сокращение различных подмножеств языка.

В СССР первые компиляторы с подмножества языка КОБОЛ реализованы в г. на ЭВМ "Днепр-21" и "Минск-32", а в г. был принят отечественный стандарт на язык программирования КОБОЛ (ГОСТ 22558-77).

Оценивая вклад этого языка в теорию и практику программирования, нельзя не указать на противоречивый характер отношений к нему пользователей, с одной стороны, и специалистов по информатике, с другой. Если среди программистов он получил распространение благодаря своей удобочитаемости, а может быть, и ранней стандартизации, то многие ученые его появление восприняли как ошибку, а его использование как "болезнь", с которой необходимо бороться. Причем некоторые из ученых, в частности известный голландский специалист по программированию Э. Дейкстра, выражали свое негативное отношение к КОБОЛу в довольно резкой форме (ACM SIGPLAN NOTICE, 1982, v. 17, pp. 13-15). Они возражали против использования английского языка как основы КОБОЛа из-за его несовершенной стилистики. Хорошая читаемость программ, утверждали они, не говорит в пользу КОБОЛа, так как программы с введением многочисленных "шумовых" слов становятся слишком многословными. Из-за большой длины программы компиляторы работают медленно, а кроме того, возникают трудности автоматического обнаружения ошибок во время компиляции.

В заключении отметим: несмотря на то что опыт разработки и применения КОБОЛа, очевидно, мало повлиял на создание языков, появившихся после него (за исключением языка PL/1), все же надо признать, что он оставил заметный след в истории развития языков программирования.

//Вычислительная техника и ее применение N10"88.

В начале 60-х гг. язык COBOL (Common Business Oriented Language) широко использовался для обработки деловой информации на компьютерах (теперь это называют бизнес-приложениями).

Архитектура языка COBOL неоднократно пересматривалась - его первая версия вышла в 1960 г., а более поздние версии - в 1974 и 1984гг. Разработка языка COBOL под руководством Грейс Хоппер была организована Министерством обороны США. Разработчики языка COBOL позаимствовали некоторые идеи из языка FLOWMATIC, созданного в компании Univac, включая использование существительных и глаголов для описания действий и отделение описаний данных от команд. При разработке языка COBOL была поставлена уникальная цель - создать язык программирования, использующий "естественный английский" для описания алгоритмов. Хотя получившийся язык достаточно удобен для чтения, но у него все же есть формальный синтаксис и программирование на нем требует определенных практических навыков.

Из-за большого количества представлений разнообразных данных и огромного числа вариантов для большинства операторов языка трансляция COBOL-программы в эффективный выполняемый код достаточно сложна. Большинство ранних компиляторов COBOL были крайне медленными, но более поздние усовершенствования методов компиляции привели к появлению относительно быстрых компиляторов языка COBOL, создающих довольно эффективный исполняемый код.

Программы COBOL организованы в виде четырех разделов. Такая организация отвечает двум основным целям разработки языка: отделение машинно-зависимых элементов программы от машинно-независимых, а также отделение описания данных от описания алгоритма. В результате появились три раздела программы:

Процедурный раздел (PROCEDURE division) содержит алгоритмы

Раздел данных (DATA division) содержит описания данных

Раздел окружения (ENVIRONMENT division) содержит машинно-зависимые программные спецификации, такие как связи между программой и внешними файлами данных.

Четвертый раздел идентификации (IDENTIFICATION division) содержит название программы и имя ее автора, а также дополнительную информацию и документацию.

Вы возможно удивитесь, но в наше время актуальными и востребованными остаются языки, разработанные ещё на заре общедоступного компьютеростроения. О некоторых из них, таких как язык Ассемблера или Фортран, мы уже говорили, о других наверняка поговорим еще в будущем.

Сегодняшний герой - COBOL. Этот язык изучался в ВУЗах по всему миру несколько десятилетий, и даже сегодня, почти 60 лет спустя вы можете найти 20-30-летних гиков, которые аргументировано докажут, что COBOL ничуть не устарел, а специалисты по этому языку будут востребованы еще очень долго.

К сожалению, у меня поиски такого адепта прошли безуспешно, поэтому оперировать придется только общедоступными фактами.

Краткая справка

COBOL (аббревиатура от COmmon Business-Oriented Language) - императивный процедурный язык, созданный в 1959 году для разработки бизнес приложений. Одной из главных его особенностей является максимальная приближенность к английскому языку, что в конечном счёте привело к громоздкости каждого отдельного кода, а в 2006 году даже обнаружилось, что COBOL - абсолютный лидер по количеству написанных строк кода. Вот пример базовой программы:

$ SET SOURCEFORMAT"FREE"
IDENTIFICATION DIVISION.
PROGRAM-ID. ShortestProgram.

PROCEDURE DIVISION.
DisplayPrompt.
DISPLAY "I did it".
STOP RUN.

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

Популярность

Вопреки мнению о неудобности и допотопности языка COBOL, он по-прежнему сохраняет уверенные позиции, как в сводных рейтингах, так и на рынке. Так, например, в мартовском рейтинге TIOBE он занял 25 место, причём летом прошлого года он находился на 6 позиций выше.

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

Самый сокрушительный удар по сомнениям относительно этого языка нанесли, как и положено, его нынешние разработчики - компания MicroFocus. Согласно отчёту, опубликованному в 2013 году, стало известно, что 90% из списка компаний Fortune 500 до сих используют COBOL, а ещё на этом языке проводится 85% транзакций. Да, эти цифры неизбежно снижаются, но говорить о том, что лучшие дни COBOL далеко позади, пока рано.

Причина жить

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

Но есть и приятная сторона COBOL. Было бы странно предполагать, что за 58 лет язык абсолютно не изменился и не появилось удобных сред разработки, которые бы не позволяли закрыть глаза на некоторые неудобства. Тот же MicroFocus создал для COBOL вполне удобные инструменты.

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

Впрочем, повторюсь ещё раз: данная работа имеет штучный характер, как правило почти не мелькает на биржах, а территория благоприятных условий в основном ограничена западом. В России COBOL тоже имеет определённый спрос, но это точно не работы мечты.

Конечно, загоревшись идеей выучить язык, с помощью которого можно зарабатывать в разы больше, чем будучи разработчиком на Python, вы в первую очередь озадачитесь списком хорошей литературы. Много хорошей информации, как и положено, есть на. Хабре . Официальный сайт языка cobol.com тоже игнорировать не стоит. Ну а книгу прочитайте вот эту , если позволяет знание языка. Ну а если нет, остаётся только жалеть об упущенной возможности, так как достойной литературы по COBOL на русском лично мне найти не удалось (если знаете вы - оставляйте ссылки в комментариях).