На 65 години COBOL отново е актуален

Функционирането на някои държавни системи, включително финансовите, зависи от програми на COBOL (снимка: CC0 Public Domain)

Древен, близо 70-годишен език за програмиране възкръсна от небитието. Оказа се, че легендарният COBOL е идеален за разработчиците на супер популярна видео игра с 600 милиона потребители.

Разработчици пуснаха сървър за играта Minecraft, използвайки софтуер, написан на COBOL. Това е един от най-старите езици за програмиране, създаден преди около 65 години – някои от авторите му вече не са между живите. Оказа се обаче, че COBOL е отличен за видео игри, макар и с някои уговорки.

Език за програмиране на видео игри

Програмисти пуснаха нов сървър за невероятно популярната игра Minecraft. Неговата особеност е, че софтуерната му част е написана изцяло на езика за програмиране COBOL, който е с десетилетия по-стар от по-голямата част от днешните интернет потребители и от почти всички играчи на Minecraft, отбелязва Tom’s Hardware, но не уточнява защо разработчиците са избрали точно този език.

COBOL, или COmmon Business-Oriented Language, се появи преди 65 години, през 1959 г. Някои от разработчиците му вече са починали, а самият език почти не се използва в съвременни проекти, тъй като в много отношения отстъпва на по-актуалните езици за програмиране.

В случая, сървърът на Minecraft стъпва на проекта с отворен код CobolCraft, който използва, наред с други неща, безплатния компилатор GnuCOBOL, разработван от 20 години. Едва през март 2024 г. неговите създатели обявиха, че е готов за използване в комерсиални проекти.

Модерна версия на COBOL

Версията на COBOL, използвана от CobolCraft, е написана за Linux на езика C и се базира на стандарта COBOL 2014. Това означава, че се използва модерна версия на COBOL с най-новите функции, които, от своя страна, трябва да помогнат на CobolCraft да работи безпроблемно и да изпълнява повечето от функциите, необходими за стартиране на Minecraft сървър.

Според официалния профил на проекта в GitHub, повечето от основните функции „вече работят”. Те включват безкрайно генериране на терени, постоянни данни за свят и играч, поддръжка за импортиране на съществуващ свят, мултиплейър режим за до 10 играча, унищожаване и поставяне на блокове, взаимодействие с блокове и типични функции за мултиплейър като чат, бели списъци, конзолни команди и показване на пинг/състояние на сървъра.

В документацията на CobolCraft се отбелязва, че „блоковете с множество състояния, ориентации или интерактивни блокове изискват голямо количество специализиран код, за да се държат правилно”, но „някои от тях се поддържат”.

Най-важните интерактивни функции за Minecraft изживяване, включително факли, плочи, врати, люкове и легла, са напълно функционални. Други обекти обаче са функционални само по ограничен начин, като например неинтерактивни бутони, което означава, че най-големият технически напредък в Minecraft чрез изграждане на червен камък (Redstone) не е възможен тук.

Redstone в Minecraft е начин за създаване на електрически вериги, които могат да се използват за разработване на различни механизми и устройства. Това обаче не е съвсем стандартен геймплей, така че много играчи все още могат да получат качествено игрово изживяване без функциите, необходими за създаване, например, на работещ калкулатор или компютър в Minecraft.

Нишов, отколкото масов език

Повечето от днешните програмисти, дори и да са чували за COBOL, никога не са се опитвали да пишат на него. Като се има предвид настоящото разнообразие от езици за програмиране, няма смисъл да се използват такива древни разработки, така че сега COBOL е по-скоро нишов език, отколкото масов.

Корените на COBOL идват от инициативи, финансирани от Министерството на отбраната на САЩ, за създаване на лесен за кодиране език, оптимизиран за бизнес задачи, междуплатформени, кръстосани архитектури и висока производителност. В средата на миналия век COBOL отговаряше на тези нужди, но езиците, които го замениха, са много по-мощни и разнообразни.

COBOL обаче продължава да се подобрява и да получава актуализации, а примерът с проекта CobolCraft ясно показва, че този език все още е подходящ за проекти с милиони активни потребители. В момента месечното онлайн население на Minecraft е 180 милиона, а за 13 години от съществуването на играта броят на регистрираните потребители в нея надхвърли 600 милиона.

Проблемът с кадрите

Липсата на достатъчно програмисти, които познават COBOL, не означава, че софтуер, написан на него, вече не се използва в проекти по света. Напротив, такива програми все още са широко разпространени, дотолкова, че функционирането на цели държавни системи, включително финансовите, зависи от тях.

Липсата на специалисти по COBOL принуди компаниите да организират специализирани курсове за разработчиците на този език. Те измислиха и начини за автоматичен превод на COBOL програми в код на по-популярни езици, включително Java.

Според статистика на IBM, до края на 2022 г. в световен мащаб са се използвали около 800 милиарда реда COBOL код. Медийни публикации сочат, че в края на 2023 г. всеки ден по света банкови транзакции на стойност трилиони щатски долари са обработвани от програми, написани на древния език COBOL.

Коментар