COBOL — асбест языков программирования

В начале В связи с пандемией Covid-19 губернатор Нью-Джерси сделал необычное признание: у него закончились разработчики COBOL. Системы страхования по безработице штата были написаны на языке программирования 60-летней давности и нуждались в обновлении, чтобы обрабатывать сотни тысяч заявок. Проблема была в том, что мало кто из государственных служащих знал, как это сделать. И кризис вышел за пределы Нью-Джерси, всего лишь одного из многих штатов, зависевших от этих громоздких систем. По приблизительным подсчетам, неэффективность COBOL стоит ВВП США. 105 миллиардов долларов в 2020 году.

Вы могли бы подумать, что после этого Нью-Джерси заменил бы свою систему, и что Covid был последним вздохом COBOL. Не совсем. Новая система безработицы в штате привнесла ряд улучшений в качество жизни, но на внутреннем уровне это по-прежнему стало возможным благодаря мэйнфрейму, работающему на древнем языке.

COBOL, сокращение от Common Business-Oriented Language, является наиболее широко распространенным компьютерным языком в истории. Из 300 миллиардов строк кода, написанных к 2000 году, 80 процентов были на языке COBOL. Он до сих пор широко используется и поддерживает большое количество государственных систем, таких как учет транспортных средств и страхование по безработице; в любой день он может обработать что-то порядка стоимость 3 триллиона долларов финансовых операций. Я думаю о COBOL как о своего рода цифровом асбесте, который когда-то был почти повсеместным, а теперь невероятно и опасно трудно удалить.

COBOL был впервые предложен в 1959 году комитетом, в состав которого вошли большинство представителей компьютерной индустрии США (включая Грейс Хоппер). Он призвал разработать «спецификации общего делового языка для автоматических цифровых компьютеров», чтобы решить растущую проблему: затраты на программирование. Программы писались специально для конкретных машин, и если вы хотели запустить их на чем-то другом, это означало почти полную переписку. Комитет обратился в Министерство обороны, которое с радостью поддержало этот проект.

Read more:  Начните свои «Решения на 2026 год» с пожизненного членства в программе изучения языков Rosetta Stone всего за 149 долларов.

Дизайн COBOL отличал его от других языков как тогда, так и сейчас. Он должен был быть написан простым английским языком, чтобы его мог использовать любой, даже непрограммист; символические математические обозначения были добавлены только после серьезных дебатов. Большинство версий COBOL допускают использование сотен слов (Java допускает только 68 слов), включая “is”, “then” и “to”, чтобы было легче писать. Некоторые даже говорили, что COBOL был предназначен для замены компьютерных программистов, которые в 1960-х годах занимали редкое место во многих компаниях. Они были мастерами технологии, которую большинство людей едва могли понять. Разработчики COBOL также надеялись, что он будет генерировать собственную документацию, экономя время разработчиков и делая его легко поддерживать в долгосрочной перспективе.

Но что вообще значит быть читабельным? Программы — это не книги или статьи; это условные наборы инструкций. В то время как COBOL мог превратить сложность одной строки кода в нечто, понятное каждому, это различие исчезло в программах, состоящих из тысяч строк. (Это похоже на руководство по сборке Ikea: любой шаг прост, но что-то все равно не получается.) Более того, COBOL был реализован с использованием части логики, которая стала вызывать презрение: оператор GO TO, механизм безусловного ветвления, который отправлял вас из одного раздела программы в другой. Результатом стал «спагетти-код», как любят говорить разработчики, который сделал самодокументирование неактуальным.

У многих ученых-компьютерщиков с самого начала были проблемы с COBOL. Эдсгер Дейкстра, как известно, ненавидел его, говоря: «Использование COBOL калечит разум; поэтому его преподавание следует рассматривать как уголовное преступление». Дейкстра также ненавидел оператор GO TO, утверждая, что он делает программы практически невозможными для понимания. Была определенная доля настоящего снобизма: на COBOL часто смотрели свысока как на чисто утилитарный язык, предназначенный для решения скучных проблем.

Read more:  В конце языков- L'Erxy

Жан Самме, один из первых дизайнеров, видел это по-другому: перед языком просто стояла сложная задача представления сложных вещей, таких как социальное обеспечение. Или, как написал другой защитник: «К сожалению, существует слишком много таких бизнес-приложений, написанных программистами, которые никогда не имели возможности хорошо преподавать структурированный COBOL». Хороший COBOL действительно самодокументируется, но очень многое зависело от конкретного программиста. Фред Грюнбергер, математик из корпорации Rand, выразил это следующим образом: “COBOL в руках мастера — прекрасный инструмент, очень мощный инструмент. COBOL, если где-нибудь им будет заниматься низкоквалифицированный клерк, будет жалким беспорядком”.

2026-03-16 11:00:00


1773687047
#COBOL #асбест #языков #программирования

Читайте также

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.