Выбрать главу

Поскольку, создавая информационные технологии, мы многое делаем впервые, есть ли способ узнать, как лучше всего это делать? Той почти абсолютной свободе, которая присуща цифровым системам, сопутствует дезориентирующая моральная дилемма. Мы это все придумываем — так что именно мы должны придумывать? Довольно, этой дилеммы просто не существует.

По мере увеличения размеров и сложности программное обеспечение способно стать ужасно запутанным. Когда к разработке подключаются другие программисты, оно может показаться настоящим лабиринтом. Если вы достаточно умны, то у вас получится написать любую небольшую программу с самого начала, но для того, чтобы успешно изменить большую программу, потребуются огромные усилия (и удача), особенно когда от этой программы уже зависят другие. Даже лучшие группы разработчиков периодически сталкиваются с массой программных ошибок и структурных головоломок.

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

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

Иногда появляется цифровой рай

Однажды, в начале 1980-х, конструктор музыкальных синтезаторов Дэйв Смит между делом придумал способ представления музыкальных нот. Он назывался MIDI и рассматривал музыку с точки зрения клавишника. MIDI состоял из цифровых моделей, представлявших события клавиатуры, такие как «клавиша нажата» и «клавиша отпущена».

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

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

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

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

Жизнь на искривленной поверхности закона Мура

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