В рейтингах популярности языков программирования относительно молодые Kotlin, Rust или Go все чаще вытесняют C++, Java и другую классику. Резкий скачок спроса на COBOL-программистов стал полной неожиданностью для рынка. Компания IBM решила, что «древний» язык рано списывать со счетов, и намерена возродить его.
Чем вызван скачок спроса на COBOL-разработчиков
Пандемия коронавируса привела к увеличению количества заявок на пособия по безработице в США: так, в штате Нью-Джерси рост за несколько недель достиг 1600%. Из-за всплеска обращений в службу занятости ИТ-инфраструктура системы не выдержала – ПО, значительная часть которого написана на COBOL, не было рассчитано на такие нагрузки. Чтобы оптимизировать код и расширить возможности системы, потребовались COBOL-разработчики.
Мейнфреймам, на которых было запущено ПО службы занятости, более 40 лет. Специалистов по их обслуживанию также не хватает.
Поиск разработчиков стартовал 4 апреля. Добровольцев стал искать губернатор штата Нью-Джерси Роберт Асаро-Анджело. Вскоре к нему присоединились власти Колорадо и других штатов, ведь поток заявок на пособия продолжал расти.
Но этот язык вряд ли можно включить в число популярных – так, авторитетный ресурс Tom’s Hardware назвал COBOL мертвым языком. Специализированных курсов по COBOL фактически нет, а значительная часть разработчиков, писавших подобные системы, уже вышла на пенсию.
Планы IBM
IBM планирует организовать обучающие курсы по COBOL. Инициативу поддержит Open Mainframe Project – курируемый Linux Foundation проект, который разрабатывает ПО с открытым исходным кодом.
В IBM уже заявили, что курсы будут бесплатными, но критерии отбора кандидатов пока не опубликовали. По завершении обучения компания выложит материалы курса на GitHub в аккаунте Open Mainframe Project, а затем и на Coursera.
Также компания возродит сообщество COBOL-разработчиков. Авторы инициативы будут продвигать современные методы общения среди специалистов. На сайте Open Mainframe Project уже создано несколько узкоспециализированных COBOL-форумов, задействуют и другие каналы. Отчасти ресурсы станут базами для поиска специалистов по COBOL.
Пользователи форума Reddit идею курсов по COBOL поддержали. Но далеко не все участники обсуждения выразили готовность помогать американскому правительству и компаниям, которые пользуются системами на COBOL. К тому же многие разработчики не верят, что обновление ПО на COBOL – действительно решение проблемы.
Особенности COBOL
COBOL – один из первых высокоуровневых языков программирования. Название языка – сокращение от COmmon Business Oriented Language, что переводится как «общий бизнес-ориентированный язык».
Первую версию COBOL выпустили в 1959 году. Разработкой занималась команда под руководством американской ученой Грейс Хоппер, коммодора флота США. Она же, к слову, создала первый в истории компилятор для языка программирования и развивала концепцию машинно-независимых языков, а также стала использовать термин debugging для поиска ошибок в работе компьютеров.
В COBOL используется строгая статическая типизация. Это ANSI-стандартизованный язык, сравнительно громоздкий и многословный – разработчики хотели приблизить его к естественной английской речи. Но за это COBOL критиковали: так, Дейкстра заявлял, что «использование COBOL калечит ум... его преподавание должно рассматриваться как уголовное преступление».
Код «Hello, world» на COBOL
В 2002 году COBOL пережил своеобразное перерождение. Он стал поддерживать парадигму объектно-ориентированного программирования и получил поддержку других современных конструкций. Но и до этого он умел работать с файлами, структурами данных и записями – это было весьма революционным для 70-80-х.
Где применяется COBOL
Казалось бы, от языка, которому пошел седьмой десяток, пора отказаться. Но, по данным Reuters, в мире до сих пор используется 220 млрд (!) строк кода на COBOL.
Этим ПО мы пользуемся каждый день. К примеру, код на COBOL можно встретить в 95% банкоматов и 43% банковского ПО.
Также COBOL используют крупные ведомства – уже упомянутая служба занятости США и другие государственные организации. В 2006 и 2012 году исследования показали, что COBOL используют 60% организаций в мире.
При этом в 1997 году в мире использовали 240 млрд строк кода на COBOL. Его общую стоимость оценивали в 2 трлн долларов США. Наконец, в 2006 году COBOL считался языком, на котором написано больше всего строк кода. Потеснить его смог лишь JavaScript из-за мощного развития веб-технологий.
Отказаться от всего этого кода быстро не получится. Прежде всего, нужны значительные средства, которые в разгар пандемии взять попросту неоткуда.
Кроме того, нужно разработать новую архитектуру, планы интеграции, постепенного вывода устаревшего ПО и его замещения новыми системами, обеспечить безопасность этих процессов. И, конечно же, требуются специалисты, которые способны разобраться в коде на COBOL и организовать его постепенную замену.
Чтобы понимать масштабы, приведем пример Банка содружества Австралии. Он решил отказаться от ПО на COBOL и заменил его новыми современными решениями. На это потребовалось пять лет и 750 млн долларов США.