«Как, черт возьми, мы дошли до того, что нам буквально нужны программисты на COBOL?» - спросил губернатор Нью-Джерси Фил Мерфи на недавней пресс-конференции.
Содержание
- Фортран
- Ада
- Паскаль
- БЕЙСИК / Визуальный Бейсик
- КОБОЛ
Столкнувшись с беспрецедентным количеством безработица заявок, штату пришлось немедленно расширить свою 40-летнюю платформу заявок на пособие по безработице — капитальный ремонт это мгновенно положило начало лихорадочному поиску программистов, знакомых с языком программирования десятилетней давности. КОБОЛ.
Рекомендуемые видео
Однако эта проблема существует не только в Нью-Джерси. Многие мировые банковские, оборонные системы и системы искусственного интеллекта используют языки программирования, которые были в моде еще тогда, когда у Apple кончился гараж.
Технологическая индустрия любит все новое и передовое, но если бы не древние языки программирования, такие как COBOL, Ада, Паскаль и Фортран, кредитная индустрия, научно-исследовательские организации и многочисленные оборонные системы пришли бы в визг. остановка. Другими словами, без всего этого старого кода мы бы облажались.
Языки программирования пятидесятилетней давности до сих пор вычисляют миллионы транзакций и статистики и служат основой систем, на которые опирается современный мир. Например, по данным исследования 2017 года, более 95 процентов банкоматов и 40 процентов банков используют код COBOL. Отчет Рейтер.
Некоторые из этих древних табуляторов до сих пор очень хорошо выполняют определенные функции. Есть также много руководителей предприятий, которые не хотят разбирать проверенное временем программное обеспечение, которое жизненно важно для бизнес своей компании, поэтому вместо капитального ремонта и модернизации они просто исправляют старый код и надеются на лучший.
Борьба с древними технологиями — не новое явление. Например, Калифорния потратила сотни миллионов долларов, пытаясь обновить свою технологию DMV и расчета заработной платы. Тем не менее, нынешняя пандемия и вызванная ею волна безработицы продемонстрировали, насколько инфраструктура программного обеспечения Америки разрушается так же, как и ее физическая.
Вот пять «старинных» языков, от которых наш мир зависит больше, чем вы думаете, и почему это может вас немного понервничать.
Фортран
Если бы не Фортран, многие суперкомпьютеры и модели, которые мы используем для прогнозирования погоды, астрофизики и статистического анализа высокого уровня, просто не работали бы.
Созданный IBM в 1950-х годах, Фортран (сокращение от «Перевод формул») был одним из первых языков высокого уровня, который использовали слова вместо цифр и позволяли программистам писать программы на 500% быстрее, чем при использовании машины. код. Сегодня не так много разработчиков изучают этот язык.
«Я использую Фортран все время — я просто никогда об этом не думаю», — говорит Джеймс Ховард, специалист по данным из Лаборатории прикладной физики Джона Хопкинса. Хотя Ховард уже много лет не программировал на этом языке, его приложения регулярно обращаются к основным библиотекам Фортрана. Построенные в начале 70-х годов, они в хорошем состоянии и «ослепительно быстры».
В последний раз Говарду приходилось писать программу на Фортране около 10 лет назад. Он работал в Федеральной резервной системе, и ему нужно было переместить данные между двумя приложениями; один был написан на C, а другой на Фортране. Программы перестали обмениваться данными, поскольку поставщик прекратил предоставлять библиотеку Фортрана.
40-летний программист вспомнил, что читал в детстве, что структура вызова данных в языке программирования C противоположна структуре Fortran. Он написал простой сценарий, чтобы отменить приказ, и, вуаля, Федеральная резервная система вернулась к работе.
Ада
Государственные программисты полагаются на относительно малоизвестную кодовую базу Ada при разработке систем, требующих надежности, таких как системы защиты и безопасности. Что именно в нем запрограммировано? Что ж, это в некоторой степени правительственная тайна, но НАСА и Boeing в последние годы использовали код на основе Ada для программирования спутников и самолетов.
Министерство обороны (DOD) курировало разработку Ada в 1970-х годах, чтобы сократить количество языков программирования, используемых военными, которых в то время было более 400. Ada была создана, чтобы быть абсолютно надежной в ситуациях жизни и смерти и защищена от ошибок программиста. Хотя этот язык был разработан в 1980 году, Конгресс не санкционировал его использование во всех государственных системах до 1995 года. Два года спустя министерство обороны отказалось от этого мандата, посчитав, что дешевле и гибче будет использовать широко доступные современные системы. Но он используется и сегодня.
Паскаль
Многие программисты считают Паскаль почти мертвым языком программирования, но он продолжает жить по нескольким причинам. «Хотите верьте, хотите нет, но это все еще очень популярный язык во многих частях мира, но в США вы можете мы будем говорить на латыни», — говорит Дэйв Хэттер, который три года проработал в крупной страховой компании, помогая обновлять миллионов строк кода, оценивающих стоимость полисов и сумму, которую они платят.
Многие из этих старых программ были написаны задолго до появления сегодняшних опасений по поводу нарушений безопасности и содержат конфиденциальную конфиденциальную информацию. Хэттер, который сейчас работает специалистом по кибербезопасности, полагает, что программы могут быть относительно безопасными только из-за «безопасности за счет неизвестности» — молодые программисты не знают, что делать с кодом, созданным десятилетиями. «15-летний хакер понятия не имеет, как работать с каким-нибудь мейнфреймом IBM 390 с помощью COBOL», — говорит он. «Я не говорю, что они не могли учиться. Но они этого не узнают».
Паскаль послужил основой для ранней операционной системы Apple, а потомок этого языка, Delphi, до сих пор имеет сильных сторонников. Фактически, Skype — одно из первых приложений для видеовызовов, получившее широкую популярность и использование — изначально было написано на Delphi.
БЕЙСИК / Визуальный Бейсик
BASIC не занимает первое место в списке языков, которые люди используют в 2020 году, но многие современные приложения, на которые мы полагаемся, просто не существовали бы без него. Например, если вы когда-либо программировали макрос Excel, вы использовали разновидность BASIC.
Сокращенно от «Универсальный код символических инструкций для начинающих», BASIC был запущен в 1963 году в Дартмутском колледже как способ обучения широкой аудитории теории и возможности программирования — окунуться в воду, прежде чем переходить к более надежным языкам, таким как Фортран. Популярность BASIC росла вместе с персональными компьютерами — у компьютеров Apple, IBM и Atari были свои версии.
К середине 1980-х компьютерные фанаты-самоучки были менее в восторге от BASIC и больше интересовались сторонними программами. Затем в 1991 году Microsoft выпустила Visual Basic, который не был точной версией BASIC, но использовал те же команды и структуру и имел улучшенный графический интерфейс. Затем этот язык использовался многими предприятиями для написания больших и малых программ. Несмотря на то, что Microsoft заявила, что прекратила поддержку Visual Basic 6 (самой последней версии) в 2008 году, у этого языка по-прежнему много пользователей. Проверить Индекс Тиобе (в таблице представлены самые популярные языки программирования): VB по-прежнему входит в десятку лучших!
КОБОЛ
«Я бы сказал, что более 90% людей, которых мы видим, используют COBOL как основную часть того, что они пишут», — оценивает Брэндон Иденфилд, который обновляет и переносит устаревшие приложения для Современные системы и помог пересмотреть кодекс фондовых бирж Нью-Йорка и Сингапура. «Любая крупная компания, о которой вы только можете подумать, вероятно, имеет нездоровое количество этого материала».
COBOL, аббревиатура от Common Business-Oriented Language, был запущен в 1959 году и предназначен для решения задач обработки данных, таких как отслеживание бюджета, банковские операции и учет заработной платы. Министерство обороны (DOD) изначально разработало этот язык как временный проект. Затем Министерство обороны потребовало от производителей компьютеров включать COBOL в свои машины, и этот язык быстро распространился в течение следующих нескольких десятилетий. По данным исследования 2017 года, более 95% банкоматов и 40% банков по-прежнему используют код COBOL. Отчет Рейтер.
Большая часть этого программирования была развернута через мейнфреймы, а современные системы переместились в облако. Как показывает затруднительное положение Нью-Джерси, разработчики, которые знали, как поддерживать код COBOL, стареют или уже вышли на пенсию.
Компании, которые модернизируют эти программы, обычно делают это несколькими разными способами.
«Крупный системный интегратор бросит кучу людей на код; они сядут, посмотрят и перепишут», — говорит Иденфилд. Этот подход зачастую является самым рискованным, трудоемким и дорогостоящим. В среднем, масштабные работы по смене платформы, написанные вручную, могут занять от 3 до 10 лет и могут стоить сотни миллионов долларов.
Эденфилд рекомендует автоматизированные решения и говорит, что первым логическим шагом может быть просто перенос кода из устаревшую версию COBOL на текущую, что позволит многим системам перейти на современную версию. серверы. Он сравнивает обновление машины с переводом с французского на английский: «Основа того, что говорится, переведена идеально. Вам просто нужно исправить синтаксис того, как это формулируется». По его словам, такой подход также может сократить время и стоимость обновления где-то между шестью и 24 месяцами.
Будет ли это дешево? Ну, это будет дешевле. Стоимость проектов Modern Systems обычно варьируется от 200 000 до 10 миллионов долларов. Большая часть проекта, объясняет Иденфилд, заключается не в переводе кода, а в тестировании, чтобы убедиться, что он все делает правильно.
Причина, по которой эти обновления не происходят?
«Никто раньше об этом не слышал, потому что это не сексуальная тема, и люди обычно не пытаются говорить о том грязном белье, которое у них есть», — объясняет он. ИТ-руководители также имеют привычку откладывать все на свои места.
«Я готов поспорить, что штат Нью-Джерси сейчас обратит внимание на эту проблему, но я также готов поспорить, что половина их коллег подумает, что с ними этого не произойдет: «Не со мной».