Потрясающая, но невидимая глубина
Вы только что зашли на страницу Google.
Просто, не так ли?
Что же на самом деле произошло?
Ну, если вы немного понимаете, как работают браузеры, то все не так просто. Вы только что задействовали HTTP, HTML, CSS, ECMAscript и прочее. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.
Давайте упростим.
Вы только что установили соединение с www.google.com.
Просто, не так ли?
Что же на самом деле произошло?
Ну, если вы немного понимаете, как работают сети, то все не так просто. Вы только что задействовали DNS, TCP, UDP, IP, Wifi, Ethernet, DOCSIS, OC, SONET и прочее. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.
Давайте упростим.
Вы только что напечатали www.google.com в адресной строке своего браузера.
Просто, не так ли?
Что же на самом деле произошло?
Ну, если вы немного понимаете, как работают операционные системы, то все не так просто. Вы только что задействовали ядро, стек USB, диспетчер ввода/вывода, обработчик событий, шрифтовую подсистему, суб-пиксельный растеризатор, оконную систему, драйвер видеокарты и прочее. Все это создано при помощи высокоуровневых языков программирования, обработано компиляторами, компоновщиками, оптимизаторами, интерпретаторами и прочим. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.
Давайте упростим.
Вы только что нажали клавишу на клавиатуре.
Просто, не так ли?
Что же на самом деле произошло?
Ну, если вы немного понимаете, как работают устройства ввода-вывода, то все не так просто. Вы только что задействовали регулятор напряжения, дебаунсер, мультиплексор ввода-вывода, стек устройств USB, причем все это выполнено в виде одного микрочипа. Этот микрочип состоит из тончайших подложек высокоочищенного монокристаллического кремния, легированного незначительным количеством других атомов, введенных в кристаллическую структуру методом диффузии. Подложки металлизированы слоями алюминия или меди. В процессе фотолитографии подложки освещаются ультрафиолетовыми лучами, точность позиционирования которых составляет доли микрона. Все это соединено тонкими золотыми проводами, упаковано в корпус и герметизировано смолой.
Легированные и металлизированные области используются для создания транзисторов, которые в свою очередь группируются в логические вентили. В некоторых частях микрочипа логические вентили соединены для реализации арифметических и битовых функций. Эти функции используются для создания арифметико-логических устройств. В другой части микрочипа логические вентили объединены в бистабильные петли, выстроены в ряды и дополнены селекторами для создания банка регистров. Еще в одной части микрочипа логические вентили сгруппированы в контроллеры шины, декодеры инструкций и микрокод для создания планировщика команд. В другой части микрочипа вентили сгруппированы в мультиплексоры адресов и данных и схему таймингов для создания контроллера памяти. И это еще не все. В действительности, это такие невероятно сложные технологии, что от них у любого инженера голова пойдет кругом, стоит лишь попробовать поглубже вникнуть в них. И нет ни одной компании, которая могла бы справиться с ними в одиночку.
Можем ли мы еще упростить?
На самом деле ужасно это осознавать, но нет, мы не можем. Мы с трудом можем осознать сложность одного чипа в клавиатуре, и это не самый простой уровень. Дальше придется говорить о программном обеспечении, которое было использовано для разработки логики микрочипа. А это программное обеспечение обладает такой сложностью, что потребуется упрощать снова.
Современные компьютеры настолько сложны, что могут быть спроектированы и произведены только с использованием менее сложных компьютеров. В свою очередь, компьютеры, которые были использованы для проектирования и производства современных компьютеров, могут быть произведены только с использованием предыдущего поколения компьютеров. Придется пройти через много таких циклов возврата прежде чем мы вернемся на уровень, на котором можно что-то сделать без компьютеров.
Как только вы начнете понимать как наши современные устройства работают и как они были созданы, становится невозможным не испытывать потрясение от глубины всего этого. И невозможно не испытывать благоговения от того, что они вообще работают, хотя согласно закону Мёрфи они, пожалуй, и не должны.
Для людей не-технических специальностей все это черный ящик. Это один из величайших успехов технологии: все эти уровни сложности полностью скрыты и люди могут ими пользоваться даже не подозревая о существовании этих уровней. Это же причина недовольства, испытываемого некоторыми при использовании компьютеров. Так много всего может пойти не так, что обязательно что-то пойдет не так. А сложность всего уходит на такую глубину, что для большинства пользователей нет ни малейшей возможности как-либо исправить проблему.
Поэтому же людям технических и не-технических специальностей так тяжело объясняться друг с другом. Первые знают так много о столь многих уровнях, а вторые так мало о столь малом количестве уровней, что эффективного прямого общения не получается. Разрыв столь велик, что нет одного такого человека, который мог бы быть посредником между этими двумя группами. И, кстати, поэтому у нас такие странные многоуровневые службы технической поддержки. Без столь глубоких структур поддержки можно легко оказаться в неприятной ситуации вроде той, что получается, когда конечные пользователи имеют доступ к базе дефектов, напрямую используемой инженерами: в этом случае ни пользователи, ни инженеры не получают необходимой им информации.
Вот почему массовая пресса и население в целом так много говорили о смерти Стива Джобса и сравнительно мало о смерти Денниса Ритчи. Влияние Стива было на уровне, который большинство может увидеть и понять, а Деннис работал на гораздо более глубоком уровне. Я могу представить каким бы был мир компьютеров без того, что сделал Джобс и те, кого он вдохновил. Мир компьютеров бы был немного менее ярким, немного более бежевым, немного более квадратным. Но внутренне наши компьютеры и устройства работали бы так же, и делали бы то же, что и сейчас. При этом я буквально не могу представить каким бы был мир компьютеров без того, что сделал Ритчи и те, кого он вдохновил. К середине 80-х годов прошлого века влияние Ритчи было подавляющим и уже тогда мало что существовало из мира, каким он был до Ритчи.
И напоследок о важном: все вышеописанное — причина того, почему наша патентная система не работает как надо. Технология так потрясающе успешно скрыла все сложности, что люди, управляющие патентной системой, едва догадываются о сложности того, чем они управляют. Это ни что иное, как обсуждение навеса для велосипедов. Как в байке, где в мэрии некоего города начали обсуждать ядерную электростанцию, а закончили обсуждением того, в какой цвет покрасить навес для велосипедов рядом с ней. Патентные дискуссии о современных компьютерных системах заканчиваются разговорами о размере экранов и расположении иконок потому, что, как и в байке, это единственный аспект системы, который доступен для понимания участвующим в дискуссии. Хотя этот аспект и не имеет никакого отношения к функционированию всей обсуждаемой системы.