66 лет COBOL и «бессмертный» C. Какие технологии будут работать в 2100 году — и почему мы не сможем от них избавиться?

66 лет COBOL и «бессмертный» C. Какие технологии будут работать в 2100 году — и почему мы не сможем от них избавиться?

Когда стандарт умирает, вместе с ним застревают годы чужой работы.

image

Пока индустрия спорит, какая нейросеть «самая умная» и какой фреймворк «самый современный», в банковских недрах спокойно продолжают крутиться технологии, которым уже десятки лет. В этом году COBOL исполнилось 66, и он по-прежнему держит на себе критически важные задачи: обработку счетов, работу банкоматных сетей, клиринг по картам и ночные пакетные расчёты. Там же, где живёт COBOL, обычно живут и мэйнфреймы: банки, страховые компании, государственные системы, крупные учётные и складские контуры.

Именно это натолкнуло на простой вопрос: какие ещё технологии с высокой вероятностью будут работать через 50 лет и дальше, даже если вокруг всё сменится несколько раз. При этом важно учитывать, что «старое» давно стало другим: актуальный стандарт COBOL 2023 мало похож на ранние версии языка, которые помогала создавать Грейс Хоппер, а современные мэйнфреймы ушли далеко от первых систем IBM 701 и IBM/360. Но преемственность никуда не делась, меняются реализации, а не сама линия развития.

Среди языков программирования в кандидаты на «долгожителей» уверенно попадает C, которому уже больше полувека. Да, у него хватает наследственных проблем с безопасностью, но по скорости и универсальности он всё ещё крайне силён: C можно встретить практически на любой архитектуре и в любой низкоуровневой задаче. На фоне разговоров о том, что Rust постепенно вытеснит C из системного программирования, стоит помнить, что Rust уже пришёл в Linux, но главные козыри C — скорость и переносимость — никуда не исчезли.

Ещё один «неубиваемый» столп — это SQL. Он встроен во все крупные реляционные СУБД, вокруг него накоплены гигантские объёмы бизнес-логики, хранимых процедур и запросов, и заменить это разом практически нереально. Похожая история у JavaScript и TypeScript: их любят ругать, над ними шутят, но веб-платформа держится на совместимости, а значит браузерный язык никуда не денется, пока жив сам веб.

Отдельный пласт долгоживущих технологий связан не с языками, а с экосистемами. Linux будет работать и в 2100 году, а Git останется базовым инструментом разработки ещё очень долго. Рядом с ними, как ни странно, находятся и «вечные» редакторы vi и Emacs, а также Bash, который пережил множество конкурентов и по инерции продолжает быть стандартным инструментом во многих сценариях.

Из более свежих, но уже ставших инфраструктурными решений стоит выделить Kubernetes. У него немало критиков, но сегодня это фактический стандарт оркестрации контейнеров для облаков и основа «cloud-native» подхода, поэтому инерция рынка играет на его стороне. А в прикладной сфере высокие шансы на долговечность имеет Photoshop: даже при наличии альтернатив экосистема и привычки профессионалов часто оказываются сильнее идеологических аргументов.

Самая болезненная часть разговора — это форматы файлов. Как только формат становится отраслевым стандартом, он тянется годами и десятилетиями, даже если существует более открытая и удобная замена. В качестве примеров можно привести DOC и DOCX, которые вытеснили более открытые подходы, и PDF, который все любят за одинаковый вид документа «везде и всегда», но на практике сталкиваются с множеством вариантов и несовместимостей. Показательный кейс пришёл из музыкальной индустрии: после того как один из популярных проприетарных стандартов нотной записи оказался фактически «брошенным», пользователи обнаружили, что перенос накопленных работ в другие решения бывает мучительно сложным, а иногда и невозможным без потерь.

Финальный вывод простой: больше шансов пережить десятилетия у открытых стандартов и открытого ПО, а технологии, завязанные на одну компанию, по определению хрупкие. Даже если сегодня кажется, что они «слишком большие, чтобы упасть».