Выражение «кризис программирования» достаточно давнее. По крайней мере уже в 1960-х годах о нём говорили. Смысл этого кризиса в общем-то довольно прозаичен: раз за разом человечество сталкивается с технологическим вызовом, опережающим социально-экономические возможности, и решает проблему очередной технической новинкой. Однако новинка сама по себе настолько влияет на социально-экономические условия жизни, что порождает очередной вызов. Поэтому кризис тянется постоянно уже много десятилетий. Не уверен, что кризисы такого рода специфичны исключительно для сферы IT, но в сфере IT этот кризис проявляется наиболее выпукло. Так что эта и последующие заметки будут посвящены этапам кризиса программирования и прогнозу его дальнейшего развития. Вышеизложенное описание послужит своеобразной методологической схемой анализа для каждого этапа.
Начнём с кризиса версии 0.0. Эта версия ещё докомпьютерная, поэтому обозначим её таким номером.
Как известно всякому специалисту, и понятие алгоритма, и даже разнообразные счётные устройства вплоть до арифмометров существуют уже довольно давно - в основном со Средних Веков, но кое-что тянется даже с эпохи Античности. Например, в XX веке был открыт
Антикитерский механизм как образец античного компьютера, что доказывается богатые технологические возможности древних греков. Однако также известно, что все эти возможности древним на пользу не пошли, и их цивилизация была утрачена. Отчего так?
Помимо технологии ещё нужно иметь соответствующие социально-экономические предпосылки для того, чтобы эта технология пошла, что называется, в массы, изменила повседневную жизнь людей, из диковинки стала обыденностью, вывела цивилизацию на новый уровень. У греков таких предпосылок не было: было тепло, было достаточно рабов, хорошие урожаи, поэтому вся техника кроме военной как правило проходила по графе «развлечения». А военная техника, допустим, Древнего Рима, достигнув апогея и опережая всё, что было у окружающих варваров, тоже потеряла всякий стимул к дальнейшему усовершенствованию. Аналогично дело обстояло с изобретённым Леонардо да Винчи арифмометром, явно обогнавшим своё время. Когда же цивилизации всерьёз понадобились расчёты?
Первую достаточно масштабную государственную задачу в этой области поставила Франция. После своей Великой революции новые власти решили покончить с «проклятым царизмом» и ради торжества разума над мракобесием затеяли проект внедрения в стране Метрической системы, ныне известной как СИ (Международная система мер и весов). Эту задачу невозможно решить простым указом. На новые единицы измерения нужно перекалибровать все весы и линейки в стране, обучить ей всех граждан, переписать все справочники со статистикой, артиллерийскими прицельными таблицами, все книги земельного кадастра, книги по морской навигации и весь имеющийся научный материал и т. д.
На счастье французов нашёлся в их рядах некий
барон Гаспар де Прони, известный своей аполитичностью начальник земельного кадастра, а заодно издатель разных справочников и логарифмических таблиц и неплохой учёный. Революционное правительство поручило ему возглавить работу, которую он продолжал почти 40 лет. И как бы не менялась власть, реставрировались или свергались монархии, любое французское правительство неизменно продолжало финансировать этот проект, а де Прони в ответ не лез в политику, сосредоточившись на цифрах.
Тот, кто долго занимается одним делом, разумеется, стремится оптимизировать и отладить рабочий процесс. Так поступил и де Прони. Основная проблема при организации масштабных вычислительных работ заключается в кадрах. Не было во Франции (да и в любой другой стране) достаточного количества квалифицированных математиков, которые были бы способны вдумчиво и правильно считать. Поэтому вынужденной для де Прони мерой стала чисто бюрократическая организация процесса вычислений с соответствующим разделением труда.
Организация имела три уровня иерархии. На верхнем к работам время от времени привлекалось около пары десятков лучших в стране высоквалифицированных математиков, которые разрабатывали формулы перевода одних величин в другие и соответствующие методы счёта. На среднем уровне трудились сотни квалифицированных выпускников колледжей, которые по спущенным сверху формулам разрабатывали бюрократические инструкции, формы отчётности, потоки документооборота и методы контроля за работой. Они же возглавляли отделы из рядовых вычислителей. Вычислитель - это человек низшей квалификации с обычным школьным образованием, только и умеющий выполнять простые арифметические действия, правильно читать из одних бумажек и записывать в другие потоки цифр. Таких вычислителей у де Прони были тысячи. Сначала они работали вручную, затем правительством был оформлен государственный заказ на арифмометры, в частности позволивший наладить их массовый выпуск в стране.
Гений де Прони заключается в том, что он впервые в истории изобрёл принципиальную методологическую и технологическую схему организации вычислений, где процесс расчёта отделён от изобретателя или заказчика и не требует квалифицированного математика. Поэтому процесс может быть легко масштабируем за счёт низкоквалифицированных кадров, а в перспективе автоматизирован. До начала XIX века такой проблемы просто не ставилось, и задачи соответствующей вычислительной сложности просто не решались - считались невозможными. Это убеждение можно рассматривать как одно из ограничений в развитии цивилизации, которое барон сумел снять.
В итоге де Прони создал организацию как социально-экономическую структуру (учреждение, фирму), которая могла принимать заказы на крупные вычислительные проекты и тем самым открывала для общества (в первую очередь, конечно же, правительства) ряд новых невиданных доселе возможностей.
В течение XIX и особенно XX века эта организационная схема получила широчайшее распространение в развитых странах. Профессия вычислителя до поры развития компьютеров получила своё место в обществе.
Юмор истории заключается в том, что сама идея столь масштабного проекта была бы невозможной без Великой Французской революции и идей Просвещения, без горячего желания разумной реорганизации жизни, избавления от пережитков традиционного уклада, чтобы затеять в стране изменение системы мер и весов. А реализация этой идеи в вышеописанном виде была бы невозможна без богатой бюрократической культуры Франции. Вот и гадай, был ли то Случай или само Провидение для цивилизации, что госзаказ на подобный крупный проект, культурная возможность его реализации, а также личные научные и политические особенности барона де Прони сошлись в нужном месте в нужное время на достаточный срок, чтобы первая и, как мы позже узнаем, самая ключевая инновация в IT состоялась.