Практически все банковские автоматы работают на старом языке программирования COBOL (Common Business-Oriented Language), которому почти 60 лет. Он был разработан в 1959 году как стандартный язык для бизнеса и до сих пор используется в банках по всему миру. В 2014 году 92 из 100 ведущих банков и 71% компаний из списка Fortune 500 пользовались языком COBOL на своих центральных компьютерах.
Вот несколько интересных фактов и цифр об этом языке программирования.
COBOL в цифрах
- 220 миллиардов строчек кода COBOL сейчас используется различными компаниями.
- 95% — количество финансовых операций банковских автоматов, проводимых с помощью COBOL.
- $749,9 миллиона — во столько обошлась Банку содружества Австралии замена базовой системы COBOL в 2012 году.
- $15 миллиардов — общая стоимость обновления систем 20 лучших банков мира.
- 138 лет первому языку программирования, созданному Адой Лавлейс в 1883 году.
История происхождения
В 1950-е году было очень мало стандартных языков программирования, и большинство компьютеров работали на персональных вариантах. В 1959 году Министерство обороны США собрало 40 экспертов из правительства и компьютерной индустрии для создания Конференции по языкам систем обработки данных (CODASYL). Они вдохновились стандартным языком программирования FORTRAN, который использовался в научном сообществе, а также языками MATH-MATIC и FLOW-MATIC. В 1960 году COBOL был готов к коммерческому запуску, а к 1970 стал самым популярным компьютерным языком мира.
Изображение: Giphy
Сейчас COBOL считается устаревшим языком, и его больше не поддерживают новые системы. Тем не менее, он по-прежнему полезен. На COBOL до сих пор работают различные бизнес-системы, например, банковские.
Интересные отсылки
- В 1959 году, разочаровавшись в скорости разработки языка, один из членов CODASYL по имени Говард Бромберг заказал за $15 надгробие с надписью COBOL и отправил его Чарльзу Филипсу, директору отдела системных исследований Министерства обороны США.
- В фильме 1984 года «Терминатор» перед глазами главного героя появляются кусочки кода COBOL неизвестного происхождения. YouTube-канал Behind the Screens изучил их и обнаружил, что они были напечатаны в выпусках компьютерного журнала Nibble за 1984 год, а в некоторых из них были указаны координаты четырех советских спутников.
Почему бы не обновиться?
Сейчас с трудом можно найти новых программистов на COBOL, поэтому возникает очевидный вопрос: почему бы не перейти на более современные технологии?
Ответ прост: дорого и рискованно. COBOL работает с банковской индустрией, где любая ошибка может сильно ударить как по прибыли, так и по репутации, о чем недавно узнал на своем опыте британский банк TSB. В его мобильной банковской системе произошел сбой, из-за которого люди, зайдя в свой аккаунт, видели чужие данные.
Исследования показывают, что менее опасно дорабатывать существующие системы. Но все же любое изменение старых систем, в которых заложены десятилетия корпоративных данных, может быть рискованным, потому что сейчас становится все меньше программистов, хорошо разбирающихся в COBOL.
Австралийский опыт
В 2012 году Банк содружества начал заменять систему COBOL на программу, разработанную немецкой компанией SAP. После того, к чему это привело, вряд ли многие банки захотят последовать примеру Австралии.
Изображение: Giphy
Процесс занял пять лет и обошелся в более чем $749,9 миллиона. За это время произошло множество неприятностей. Например, в июне 2015-го в системе произошел сбой, из-за чего пропало 600 тысяч платежей и операций по списанию средств. Через три месяца случился еще один крупный сбой, из-за которого клиенты банка не могли пользоваться карточками, платежными приложениями и оплачивать счета. Некоторые успели понадеяться, что банк простил им задолженности, потому что на какое-то время у них обнулился остаток долга.
Другие древние языки
Можно ли считать COBOL «мертвым» языком программирования? Как ответил на Quora один программист, не существует мертвых языков, но зато есть много зомби. Они не добились такого же успеха, как COBOL, но их все равно можно найти в пыльных математических лабораториях различных университетов.
- ADA — названный в честь первой программистки Ады Лавлейс, этот язык был разработан в середине 1970-х Министерством обороны США в попытке объединить все другие языки. Но этот язык старался выполнить слишком много функций, из-за чего со временем вышел из обихода. Им до сих пор пользуются некоторые медицинские эксперты.
- ALGOL — гик-родственник COBOL (используется в науке, а не в бизнесе) и предок Pascal. Благодаря ALGOL в мире программирования появились блоки кода (“begin/end”) и вложенный (nested) код.
- APL — создан для упрощения сложных математических вычислений. Многие считают, что у него серьезные недостатки в виде чрезмерного разнообразия символов и отсутствия форматирования. APL до сих пор используется на кафедрах физики и математики.
- LISP — разработан в 1950-е годы первыми исследователями искусственного интеллекта. Получил распространение благодаря своему списку указателей, который был очень удобен для работы с множеством данных разного типа в одной структуре. Некоторые считают, что LISP стал предвестником технологий, которые используются в big data.
- Pascal — Никлаус Вирт разработал этот язык для обучения концептам структурированного программирования. Pascal сыграл важную роль в появлении первых программ на персональных компьютерах, и у него до сих пор есть фанаты. Однако он потерял свою привлекательность после появления объектно-ориентированного программирования.
- PL/I — компания IBM попыталась создать единый язык, который объединял в себе функции COBOL, ALGOL и FORTRAN. Он был слишком устаревшим и так и не прижился.
Материалы по теме:
Почему программирование должны учить не только программисты
Уильям Алсап — американский судья, который умеет кодить
Стримы кодеров — зачем их смотрят и почему они популярны
Мой первый год программирования в реальном времени на Twitch: уроки и итоги
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter