На заре новой эры. Автобиография отца виртуальной реальности | страница 84



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

Все, что имело значение, было новым и придумывалось целиком и полностью тобой самим. Ты сам был абстрактным исследователем на пороге неизведанных земель. Если ты хотел, чтобы на экране компьютера появился круг, нужно было найти способ написать для круга код, работающий так быстро, чтобы это имело значение. Я помню, как вместе с Биллом Аткинсоном, писавшим код для графических аспектов первого Macintosh, мы встречались с легендарным гуру алгоритмов из Стэнфорда Доном Кнутом и представляли ему новые способы рисования кругов. Это было примерно, как визит к Папе Римскому от программирования.

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

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

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

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

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