Софтуер, написан на древен език, управлява финансите на света

Парите на света зависят от най-стария език за програмиране
(снимка: CC0 Public Domain)

Всеки ден банкови транзакции на стойност трилиони щатски долари се обработват от програми, написани на древния език COBOL. Светът все още е зависим от този език за програмиране, въпреки че отдавна никой не пише на него и вече не останаха специалисти, които да го владеят.

Езикът за програмиране COBOL се оказва все още влиятелен, въпреки че наскоро навърши 64 години. Появил се за първи път през 1959 г., той все още е в основата на банковите програми, които обработват парични преводи на стойност трилиони долари, отбелязва PC Mag в публикация по темата.

Това е истински проблем в съвременния свят, тъй като COBOL (Common Business Oriented Language) се счита за остарял. Нито училищата, нито университетите, нито онлайн образователните услуги смятат за необходимо да го преподават, особено когато съществуват по-модерните C, C++ и особено Python.

В класацията на най-популярните езици за програмиране COBOL се нарежда на 22-ро място. През август 2023 г. той беше на 15-о място. Python уверено държи първото място повече от две години.

И все пак, според статистика на Международния журнал за напреднали изследвания в науката, комуникациите и технологиите (IJARSCT), до ден днешен 43% от всички банкови системи все още използват COBOL.

Банковата система на САЩ е най-силно зависима от този позабравен език за програмиране – 95% от цялата дейност на банкоматите в страната се обработват от софтуер, написан на COBOL. Ситуацията не е много по-добра с личните транзакции на американците с кредитни карти – програмите на COBOL обработват 80% от тях.

COBOL е толкова стар, колкото и повечето програмисти, които го пишат. Той дори е надживял един от своите създатели. През лятото на 2017 г. в САЩ почина Жан Е. Самет, инженер от IBM, съавтор на COBOL и първата жена-президент на Асоциацията по  изчислителна техника на САЩ.

И не само финансите

Проблемът със зависимостта на света от COBOL се усложнява от факта, че древни програми, написани на този език, се използват не само от компании от банковия сектор на световната икономика. Много често такъв софтуер се използва например в социалната сфера.

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

Софтуер, написан на COBOL, може да се намери и в автомобилната, застрахователната и здравната индустрия. Дори някои правителства продължават да използват такива помощни програми.

Два начина за справяне с проблема

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

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

Друг проблем с COBOL е, че докато някои езици непрекъснато се развиват и подобряват, адаптирайки се към съвременните реалности, той остава почти непроменен през последните 60 години. И предвид факта, че съществува Python, известен с много ниската си бариера за навлизане и привличане на ново поколение програмисти, защото е лесен за научаване, COBOL вече не е интересен за никого.

В допълнение, всички съвременни и популярни езици за програмиране имат свои собствени общности, където разработчиците споделят опит и могат да помогнат на колегите си, ако имат затруднения при писането на софтуер. В случая с COBOL, поради липсата на общност и като цяло наличието на малък брой специалисти, които го познават, често няма към кого да се обърнете за помощ.

Опит за съживяване

През пролетта на 2020 г. беше направен опит за съживяване на общността на COBOL, така че да има повече хора в света, които да развиват отдавна остарял софтуер. IBM, чийто служител е в основата на COBOL, започва да провежда курсове за обучение по него.

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

Същевременно IBM е готова да отърве света от софтуера, написан на COBOL, използвайки модерни технологии. Компанията разработи софтуерен инструмент, базиран на изкуствен интелект, който автоматично превежда кода на COBOL в Java. Това е четвъртият най-популярен език за програмиране в света сред разработчиците, след Python, C и C++.

Проектът на IBM се нарича Watsonx Code Assistant. Според източници от компанията, услугата позволява 80-90% от COBOL кода да бъде преведен на Java. Останалото трябва да се направи ръчно от програмисти, но IBM работи върху подобряване на възможностите на Watsonx Code Assistant.

Коментари по темата: „Софтуер, написан на древен език, управлява финансите на света”

добавете коментар...

  1. Ефо

    Аз имам съм писал на cobol под DOS. Имам написани 4-програми. Ставам за разчитане на *. CBL файлове. Преди 20 години пентагона търсеше коболисти за разчитане на сорс файлове.

  2. Пак Сократ

    Този сайт е написан на още по-древен език

  3. Сократ

    Вземи думите от езика

  4. Майстор Сократ

    Вземи думите от езика

  5. Anonymous

    Отдавна не съм писал на COBOL, но в уикипедията пише: COBOL 2002 стандартът включва поддръжката на обектно ориентирано програмиране, Unicode, XML, както и други характеристики на модерните програмни езици. Това така ли е?

  6. Динамитрий

    Е дайте да си пишем на Asembler после ще сложим 2ри layer COBOL или Fortran пък новото поколение ще се оправя с front-end на JS как мислите

  7. MICHAEL

    Древна палячовщина разграбваща света под ръководството на дявола, еволюиралата върховна измет, измет на всички измети.

  8. Анна Карпарова

    Здравейте,Уебер. Съгласна съм с вас.
    Най-добре си е с COBOL!
    Особено за банков софтуер.
    Но хора, които не са работили на COBOL, не могат да го оценят.

  9. COBOL developer

    COBOL се развива и предлага модерен синтаксис (.Net подобен), както и компилация до Java Bitecode и .Net assemblies, както и Cloud базирани решения. Още 10 години все още ще зависи банковия, застрахователния и въобще бизнеса от COBOL. Интеграция на съществуващ COBOL backend и съвременен UI е пътя за модернизация на бизнес системите.

  10. АНДРЕШКО

    Транзакциите на COBOL са мигновени заради почти директната връзка с вътрешните инструкции на процесора.

  11. уебер

    Най-добре си е COBOL с Java и python само проблеми и бъгове. А пълната трагедия и катастрофа ще е ако ползува JavaScript.

  12. racinggoalie

    От популярните технологии java и python стават. Но още по-подходящ би бил Eiffel, дори синтактично с повече думи, отколкото знаци. Езикът е създаден именно за тази цел и се ползва на някои места в Европа.

Коментар