Возможно Вы слышали о COBOL — 60-летнем языке программирования. Что именно это? И почему он все еще является стержнем финансового мира, несмотря на то, что мало кто все еще знает, как его использовать?
Происхождение COBOL
Грейс Хоппер была феноменом. Она получила докторскую степень по математике в Йельском университете, была профессором в Вассаре и покинула военно-морской флот США в звании контр-адмирала. Ее вклад в области вычислительной техники можно судить по количеству фондов и программ, которые были созданы. Национальный научно-исследовательский вычислительный центр энергетики назвал ее суперкомпьютер Cray XE6. Военно-морской флот также назвал свой ракетный эсминец, USS Hopper, в ее честь. Девиз корабля «Aude et Effice» («Дерзай и делай») вполне мог быть придуман Хоппер.
Стремясь создать язык программирования, Хоппер разработала первый компилятор. Это открыло двери для первых скомпилированных языков, таких как FLOW-MATIC. Это принесло ей место в Конференции по языкам систем данных (CODASYL) 1959 года.
Она также сыграла важную роль в спецификации и разработке общего бизнес-ориентированного языка (COBOL). Первая встреча состоялась 23 июня 1959 года, а ее доклад и спецификация языка COBOL последовали в апреле 1960 года.
Кобол был радикальным
Кобол содержал некоторые новаторские концепции. Возможно, наиболее значимым из них была способность работать на оборудовании, произведенном различными производителями, что было беспрецедентным в то время.
Язык был сложным и предоставлял почти английский словарь для работы программистов. Он был разработан для обработки огромных объемов данных и был исключительно математически точным.
Его словарь зарезервированных слов (слов, составляющих язык) приближается к 400. Программист связывает эти зарезервированные слова вместе, чтобы они имели синтаксический смысл и создавал программу.
Любой программист, который знаком с другими языками, скажет Вам, что 400 — это невероятное количество зарезервированных слов. Для сравнения, язык C имеет 32, а Python — 33.
Еще одна особенность COBOL — это строгое требование, чтобы определенные строки программы начинались в определенных столбцах. Сегодня у программистов больше свободы при форматировании COBOL, и им больше не нужно вводить все прописными буквами. Это делает работу с ним менее сложной. Вот пример программы:
КОБОЛ — это настоящий хит
Как бы неуклюже ни казалось сегодня, КОБОЛ был революционным. Он нашел пользу в финансовом секторе, федеральном правительстве и крупных корпорациях и организациях. Это было связано с его масштабируемостью, возможностями обработки пакетов и математической точностью. Он был установлен на мэйнфреймах по всему миру, укоренился и процветал.
Зависимость от систем, которые все еще работают на COBOL, удивительна. Reuters предоставила отчет за 2017 год со следующей статистикой:
- На сегодняшний день используется 220 миллиардов строк кода COBOL.
- COBOL является основой 43 процентов всех банковских систем.
- Системы на базе COBOL обрабатывают 3 триллиона долларов в день.
- COBOL обрабатывает 95 процентов всех операций с карточками банкоматов.
- COBOL обеспечивает 80 процентов всех возможных транзакций по кредитным картам.
Кобол это проблема
Программисты, которые знают COBOL, либо уходят на пенсию, думают об уходе на пенсию, либо мертвы. Мы постоянно теряем людей, которые обладают навыками для поддержания этих жизненно важных систем в рабочем состоянии. Новые, более молодые программисты не знают COBOL. Большинство также не хотят работать на системах, для которых Вам нужно поддерживать древний код или писать новый код.
Это такая проблема, что Билл Хиншоу, ветеран COBOL, был вынужден уйти на пенсию, чтобы основать COBOL Cowboys. Эта частная консалтинговая фирма обслуживает отчаявшихся корпоративных клиентов, которые нигде не могут найти подкованных на COBOL кодеров. «Молодым» в COBOL Cowboys уже за 50. Они считают, что 90 процентов бизнес-систем Fortune 500 работают на COBOL.
Конечно, частные предприятия, корпорации и банки — не единственные, кому нужно колоссальное количество финансовых данных. Федеральные, провинциальные и местные органы власти предъявляют одинаковые требования. Как и все остальные, они используют для этого мэйнфреймы и COBOL.
Почему бы не мигрировать и не обновиться
Обновление этих устаревших систем не так просто, как кажется. Системы являются жизненно важными, работающие 24/7, на которых вращаются финансовый, правительственный и деловой мир. Код старый, многослойный и, часто, плохо или полностью недокументированный. Перспектива сравнивалась с тем, чтобы снять пропеллеры с самолета и попытаться оснастить его реактивными двигателями — в воздухе.
Помимо риска, экономический аргумент для перехода на современные системы также является жестким. Деньги, которые были потрачены на поддержание работоспособности этих мэйнфреймов и приложений COBOL, поразительны. Должны ли учреждения выбрасывать все это и начинать заново, пока этот код COBOL все еще работает и функционирует? Миграция с COBOL не будет ни дешевой, ни быстрой.
Все меняется, но перспектива сделать что-то с этим вряд ли привлекательна. Тем не менее, единственный способ улучшить ситуацию — это провести контролируемую, осторожную миграцию на современные программные и аппаратные средства.
Для достижения этого без сбоев, потери данных и простоев потребуются современные знания и деньги, что составляет 50 процентов от этого уравнения. Другая половина — это знания и время COBOL.