94

Программирование из преисподней или как дороже всего продать свою душу

Нет, речь идет не про язык Ада, на котором пишут бортовые системы самолетов и (что иронично) код для спутников. Его назвали в честь Ады Лавлейс, которая первая заценила вычислительную машину Беббиджа и начала писать к ней программы.

Ниже портрет той самой графини Ады Лавлейс. Теоретически, фотоаппараты в ее время уже изобрели, но настоящие аристократы все еще предпочитали картины. В конце-концов, фильтры нельзяграма появились совсем недавно, а у художников уже тогда был самый лучший из фильтров — «я плачу тебе за эту чертову картину».

Язык, о котором пойдет речь, по нынешним меркам кажется древним, но все же не настолько. Он относится к атомной эпохе. В 1954 году была запущена первая атомная станция в мире, Обнинская АЭС. В 1957 году Форд начал пиарить автомобиль с ядерным реактором, Ford Nucleon. В 1958 году запустили первую АЭС в США, Шиппингпорт. Мир приветствует мирный атом, и на той же волне в 1959 году появляется язык COBOL.

Минутка технооптимизма

На самом деле, атомная история тут не при чем. Кобол разрабатывали как удобный язык для обработки данных, и расшифровка его названия «common business-oriented language» (четкий язык для четких бизнес-пацанчиков) тонко намекает на основную сферу его применения. Про атомную эпоху и прочий популюкс я напомнила, чтобы сделать более понятным тот преждевременный оптимизм, который проявляли авторы языка.

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

Их появилось сразу много, каждый для своей цели. Фортран предназначался для научных расчетов, Лисп — для искусственного интеллекта, а Кобол — для финансов и финансистов. Как можно догадаться, примерно отсюда берет начало и история с торговлей душами.

Изначально за этот язык топило Минобороны США. Тем более что его писали не с нуля, а на основе языка FLOW-MATIC, который разработала контр-адмирал младшего ранга и любимая бабушка всея флота США Грейс Хоппер.

Первой продающей фишкой языка были расчеты с фиксированной точкой. В конце-концов, только ученым-в-океане-моченым нужно было думать, как приземлить бесконечное количество дробных значений от 0 до 1 на бездушные дискретные регистры центрального процессора. Бухгалтеры резать центы на кусочки желанием не горели.

Второй фишкой, еще более продающей, была читаемость кода. Вот пример на FLOW-MATIC:

Больше похоже на сочинение «как я провел лето и на что тратил карманные деньги», чем на компьютерную программу. Это не случайность, это задумано, и сама Грейс описывала задумку примерно так: «Проблема не в том, что люди не могут научиться математике, проблема в том, что они не хотят. […] Если вы хотите докопаться, что с данными должны работать люди, которые понимают математические символы — флаг вам в руки, попробуйте обучить какого-нибудь вице-президента, полковника или адмирала. Думаете, я не пробовала?» Короче говоря, проще написать язык без арифметики, чем достучаться до тех, кому просто не до того.

Кобол подхватил эту идеологию, что понравилось ребятам из большого бизнеса, и все банки США, а потом и всего мира начали очень оптимистично и повсеместно внедрять именно этот язык во все, вообще все, процессы.

Оп оп и тут код на Коболе, это как раз та эпоха

Казалось бы, что могло пойти не так? Отличный язык, глазами читается, бери и используй. А проблема, как обычно, оказалась в людях, которые брали и использовали средства языка не по назначению. Или не могли уместить в своих коротких извилинах весь объем большого и сложного проекта, из-за чего возникала проблема объяснить что-либо новым работникам.

Вся история развития языков программирования — это история, начатая Грейс Хоппер: проще приспособить компьютер к человеку, чем человека к компьютеру. Разрабатывались новые языки и новые парадигмы типа объектно-ориентированного программирования, программировать становилось все проще, программистов становилось все больше. Старые языки вымирали под давлением конкуренции или сильно менялись, новые языки появлялись, учитывая ошибки прошлого, и тоже вымирали, поколение за поколением.

Кобол — это динозавр атомной эпохи, крокодил от мира компьютеров, который жил своей жизнью без существенных идеологических изменений. Где-то начиная с 70х в среде программистов его стали ругать и ненавидеть. Наиболее известна цитата Эдсгера Дейкстры: "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." («Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление.») Да, это тот же Дейкстра, который алгоритм. Он был математиком, а не программистом, но в преподавании шарил, и к нему прислушивались.

Спрашивается, зачем этот мазохизм, и почему просто не взять другой язык. Не нравится, так не пиши. Свой напиши, если чешется.

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

Но основной причиной держаться за ненавистный язык всеми лапками (и тут мы добрались до торговли душой) было и остается легаси. Огромные объемы уже написанного кода, которые требовали поддержки, переноса на новое железо, дополнения новыми фишками и прочей повседневной рутины. Причем основной объем этого кода сосредоточился именно у тех людей, кто не просто умел считать деньги, а только этим и занимался — в банках и остальной финансовой сфере по всему миру.

Переписывать старый код, да так, чтобы ничего не сломалось, всегда дорого. А тут еще и область очень ответственная, от рядовых банкоматов до мировых финансовых потоков. Финансисты посчитали разные варианты и решили, что проще ставить зарплату для коболоведов повыше, чем подстаиваться под изменчивый и неприхотливый мир новых модных языков-однодневок. Надо сказать, в сравнении с Коболом так выглядит почти любой.

И вот, мы здесь. 2026 год, Европа сворачивает атомную энергетику, а Кобол все еще живее всех живых. Поезд прогресса едет вперед, этому древнему языку уже не учат в университетах, почти любой программист при его упоминании достает чеснок и святую воду, но при этом вся мировая финансовая система держится на Коболе и требует непрерывного человеческого внимания. Программистов на Коболе все меньше, а зарплаты, говорят, все выше. В основном, по слухам — вакансий не так много, и конкретных цифр на сайтах типа хедхантера не пишут. Типа «по результатам собеседования».

Я не знаю, за что именно этот язык так ненавидят. Отдельные куски выглядят непривычно, но не вызывают ужаса. Тот же Лисп с его бесконечными скобками и префиксной нотацией выглядит куда страшнее. Да и современный C++ может любого ежа напугать, честное слово, вот на него бы Дейкстра посмотрел. Скорее всего, чтобы по-настоящему понять всю степень адовости языка, нужно погрузиться внутрь и хотя бы несколько лет поработать с хорошим таким, нажористым легаси. Но страшно, очень страшно.

Говорят, Кобол — самый высокооплачиваемый язык в мире. Готовы ли вы рискнуть душой, чтобы это проверить?..

Автор - Катерина Беклемышева

Ещё нас можно читать в телеге, Дзене и ВК.

Подписывайтесь, чтобы не пропустить новые посты!

Наука | Научпоп

9.6K постов83.1K подписчиков

Правила сообщества

Основные условия публикации

- Посты должны иметь отношение к науке, актуальным открытиям или жизни научного сообщества и содержать ссылки на авторитетный источник.

- Посты должны по возможности избегать кликбейта и броских фраз, вводящих в заблуждение.

- Научные статьи должны сопровождаться описанием исследования, доступным на популярном уровне. Слишком профессиональный материал может быть отклонён.

- Видеоматериалы должны иметь описание.

- Названия должны отражать суть исследования.

- Если пост содержит материал, оригинал которого написан или снят на иностранном языке, русская версия должна содержать все основные положения.


- Посты-ответы также должны самостоятельно (без привязки к оригинальному посту) удовлетворять всем вышеперечисленным условиям.

Не принимаются к публикации

- Точные или урезанные копии журнальных и газетных статей. Посты о последних достижениях науки должны содержать ваш разъясняющий комментарий или представлять обзоры нескольких статей.

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

- Посты с вопросами околонаучного, но базового уровня, просьбы о помощи в решении задач и проведении исследований отправляются в общую ленту. По возможности модерация сообщества даст свой ответ.


Наказывается баном

- Оскорбления, выраженные лично пользователю или категории пользователей.

- Попытки использовать сообщество для рекламы.

- Фальсификация фактов.

- Многократные попытки публикации материалов, не удовлетворяющих правилам.

- Троллинг, флейм.

- Нарушение правил сайта в целом.


Окончательное решение по соответствию поста или комментария правилам принимается модерацией сообщества. Просьбы о разбане и жалобы на модерацию принимает администратор сообщества. Жалобы на администратора принимает @SupportComunity и общество Пикабу.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества