Как стать автором
Обновить
568.35
Сбер
Технологии, меняющие мир

Взлет и падение языка COBOL. Где и как язык программирования, которому 60 лет, применяется и в наше время?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров11K

В 2023 году языку COBOL исполнилось уже 64 года. Это один из старейших языков программирования, которые применяются на практике. Кроме того, он же — один из лидеров по объему написанного кода. Язык не собирается умирать, наоборот, он развивается. Конечно, конкурентом популярным ныне ЯП он не является, причины его популярности в другом. Об этом поговорим под катом.

Почему COBOL до сих пор популярен?

Если говорить о том, насколько язык активно используется, то с этим все отлично. Согласно данным компании Micro Focus, ежедневно в мире используется около 775-850 млн строк кода Cobol. К сожалению, методику исследования компания не раскрывает, но, пока эти результаты никто не опровергал.

Кстати, результаты другого исследования от 2017 года показывают, что около 95 % банкоматов в мире используют код COBOL, а продукты на базе этого ЯП обрабатывают транзакций примерно на $3 трлн. (это не опечатка) в год. Вероятно, сейчас эти показатели снизились, но явно не до нуля, поскольку даже за 6 лет перевести все банкоматы в мире на современные ОС невозможно.

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

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

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

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

  • Совместимость. COBOL может работать с другими языками и технологиями, такими как Java, C#, SQL, XML или веб-службами, через различные интерфейсы и платформы. Это позволяет COBOL интегрироваться с новыми системами и платформами и использовать их возможности.

Продолжает язык и совершенствоваться. Так, в стандарте COBOL-2002 были добавлены возможности для объектно-ориентированного программирования. Кроме того, в стандарте COBOL 2014 появилась поддержка спецификации вычислений с плавающей запятой IEEE-754, перегрузки методов и динамически расширяемых таблиц.

Для COBOL выпускаются новые продукты. Например, несколько месяцев назад был опубликован релиз компилятора GnuCOBOL 3.2, позволяющего транслировать программы на языке COBOL в представление на языке Си для последующей компиляции при помощи GCC или других Си-компиляторов. Этот продукт работает с 19 разными «диалектами» ЯП, он частично поддерживает спецификацию  COBOL 2014 и проходит 9740 тестов из набора для проверки совместимости с COBOL 85. При необходимости можно использовать встроенный отладчик.

На текущий момент общий объём написанного на COBOL кода оценивается в 220 млрд строк, из которых 100 млрд используются до сих пор. В основном — в финансовых учреждениях. По состоянию на 2017 год 43 % банковских систем продолжали использовать COBOL, код на COBOL применялся при обработке около 80 % персональных финансовых транзакций и в 95 % терминалов для приёма платежей по банковским картам.

Сейчас COBOL находится примерно на 34 месте рейтинга ЯП по версии IEEE.

Что дальше?

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

Не все и не всегда проходит гладко. Так, например, несколько лет назад Commonwealth Bank of Australia попробовал переписать ядро системы на новом языке. Переход состоялся, но на проект ушло около 1 млрд австралийских долларов — это в несколько раз больше, чем планировалось.

Некоторые организации не справились с переходом — было либо слишком дорого, либо слишком сложно, а во многих случаях и то, и другое. Но, как и говорилось выше, постепенно появляются новые инструменты, которые помогают мигрировать с одного ЯП на другой. Один из наиболее перспективных инструментов — проект от IBM, который получил название Watsonx Code Assistant.

Его тестируют некоторые клиенты и партнеры IBM, а в конце 2023/ начале 2024 года начнется уже коммерческая реализация. В первую очередь, этот инструмент предлагается нынешним и будущим владельцам мейнфреймов Z‑серии производства корпорации IBM.

Инструмент спроектирован таким образом, что Java‑код, создаваемый при помощи Watsonx Code Assistant, будет объектно‑ориентированным. Но он по‑прежнему будет взаимодействовать с оставшимися компонентами систем, написанными на COBOL, утверждает IBM, а. Кроме того, он же будет нормально взаимодействовать с такими ключевыми сервисами, как CICS, IMS, DB2 и др.

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

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

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Был ли у вас опыт работы с COBOL?
1.89% Спрашиваете, конечно, был! И сейчас есть, продолжаю кое-чего обслуживать на нём.5
2.27% Да, был, но относительно давно.6
7.2% Да, но соприкосновение было мимолётным.19
83.71% Нет, никогда.221
4.92% А что такое COBOL?13
Проголосовали 264 пользователя. Воздержался 21 пользователь.
Теги:
Хабы:
Всего голосов 16: ↑13 и ↓3+20
Комментарии47

Информация

Сайт
www.sber.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия