Видеоигровой язык программирования
Программисты запустили новый сервер для невероятно популярной игры Minecraft. Его особенность в том, что программная его часть полностью написана на языке программирования COBOL, который на десятилетия старше, чем подавляющее большинство современных пользователей интернета и почти всех игроков Minecraft, пишет Tom’s Hardware. Портал не пишет, почему разработчики остановили свой выбор именно на этом языке.
COBOL или COmmon Business-Oriented Language был анонсирован 65 лет назад, в 1959 г. Некоторые его разработчики уже ушли из жизни, а сам он почти не используется в современных проектах, так как по многим параметрам уступает более актуальным языкам программирования.
В случае с сервером Minecraft был использован проект CobolCraft с открытым исходным кодом. Он задействует, в том числе, свободный компилятор GnuCOBOL, разработка которого велась 20 лет. Лишь в марте 2024 г., как сообщал CNews, его разработчики заявили о полной готовности своего детища к использованию в промышленных проектах.
Подробнее о проекте
Версия COBOL, используемая CobolCraft, представляет собой версию COBOL для Linux, написанную на C (с ответвлением C++) на основе стандарта COBOL 2014. Это означает, что используется современная версия COBOL с новейшими функциями, что, в свою очередь, должно помочь CobolCraft без проблем выполнять большинство функций, необходимых для запуска сервера Minecraft.
Согласно официальному профилю проекта на сервисе GitHub, большинство основных функций «уже работают». К ним относятся бесконечная генерация ландшафта, постоянные данные о мире и игроках, поддержка импорта существующего мира, многопользовательский режим с участием до 10 игроков, разрушение и размещение блоков, взаимодействие блоков и типичные многопользовательские функции, такие как чат, «белые списки», консольные команды и отображение пинга/статуса сервера.
В документации CobolCraft отмечается, что «блоки с несколькими состояниями, ориентациями или интерактивные блоки требуют большого объема специализированного кода для правильного поведения», но «некоторые из них поддерживаются».
Наиболее важные интерактивные функции для комфортной игры в Minecraft, включая факелы, плиты, двери, люки и кровати, полностью функциональны. Однако другие объекты функциональны только в ограниченной форме, например, неинтерактивные кнопки, что означает, что самые масштабные технические достижения в Minecraft посредством строительства из редстоуна здесь невозможны.
Редстоун в Minecraft — это способ создания электрических цепей, с помощью которых можно разрабатывать различные механизмы и устройства. Однако это не совсем стандартный игровой процесс, поэтому многие игроки все равно могли бы получить качественный игровой опыт без функций, необходимых для создания, например, функционирующего калькулятора или ПК в Minecraft.
Еще не все потеряно
Современные программисты в большинстве своем если и слышали о COBOL, то никогда не пробовали на нем писать. Ввиду нынешнего разнообразия языков программирования смысла в использовании столь древних разработок почти нет, так что теперь COBOL – это, скорее, нишевый язык, а не мейнстримный.
Корни COBOL берут начало в финансируемой Министерством обороны США попытке создать легко читаемый язык кодирования, оптимизированный для бизнес-нагрузок, характеризующийся кроссплатформенностью, кросс-архитектурнстью и высокой производительностью. В середине прошлого века он был именно таким, но пришедшие ему на смену языки, что вполне логично, гораздо более мощные и разнообразные. Впрочем, COBOL продолжает совершенствоваться и получать обновления, и пример проекта CobolCraft наглядно демонстрирует, что этот язык все еще пригоден для проектов с миллионами активных пользователей. На момент выпуска материал ежемесячный онлайн в Minecraft составлял 180 млн человек, а за 13 лет существования игры количество зарегистрированных в ней пользователей перевалило за 600 млн.
COBOL повсюду
Отсутствие достаточного количества современных программистов, знающих COBOL, вовсе не означает, что написанный на нем софт используется лишь в двух-трех проектах по всему миру. Напротив, такие программы по-прежнему распространены, причем настолько, что от них зависит работа целых государственных систем, включая финансовые. Впрочем, нужно понимать, что программы на COBOL хоть и важны, но все же в мире их осталось не так много.
Отсутствие пишущих на COBOL специалистов – это проблема, потому разработчиков организуются специализированные курсы по этому языку. Также компании придумывают способы автоматического перевода кода COBOL в код более популярных нынче языков, в том числе Java.
По статистике компании IBM, к концу 2022 г. в мире насчитывалось около 800 млрд используемых строк кода на COBOL. А в конце 2023 г. CNews писал, что каждый день в мире программами, написанными на древнем языке COBOL, обрабатываются банковские транзакции на триллионы долларов США.