Миллиардер из Кремниевой долины. История соучредителя Microsoft
Шрифт:
Я шел на урок по математике, когда меня кое-что задержало. Проходя мимо маленькой комнатки, я услышал слабое стрекотание, которое становилось все громче. Я приоткрыл дверь и увидел в тесном помещении трех парней. В комнате находился книжный шкаф и рабочий стол со стопками инструкций и рулонами желтой бумажной ленты. Ребята сгрудились вокруг электрической пишущей машинки-переростка, укрепленной на постаменте с алюминиевыми ножками: телетайп ASR-33 (Automatic Send and Receive – автоматическая отправка и получение). Телетайп был подключен к GE-635 – большому компьютеру General Electric, расположенному в далеком неведомом офисе.
Один старшеклассник сгорбился над машиной и клавиатурой цвета хаки, другой наблюдал, отпуская время от времени непонятные замечания.
Шум стоял невообразимый – низкое гудение, пушечный грохот перфоратора и стрекотание клавиатуры. Стены и потолок комнаты пришлось обшить для звукоизоляции белыми пробковыми щитами. Однако при всем шуме и медленной работе ASR-33 – обычный удаленный терминал, без дисплея, без строчных букв – был произведением искусства. У меня дух захватило. Я почуял, что с этой машиной можно работать.
Тот год стал поворотным для цифровых технологий. В марте 1968-го Hewlett-Packard представил свой первый настольный программируемый калькулятор. В июне Роберт Деннард получил патент на однотранзисторную ячейку динамической памяти с произвольным доступом (DRAM) – новый дешевый метод временного хранения данных. В июле Роберт Нойс и Гордон Мур совместно основали корпорацию Intel. В декабре, на легендарной презентации в Сан-Франциско, Дуглас Энгельбарт из Стэнфордского исследовательского института впервые продемонстрировал компьютерную мышь, текстовый процессор, электронную почту и гипертекст. Подавляющее большинство эпохальных изменений в технологии следующих двух десятилетий зародились в эти десять месяцев: дешевая и надежная память, графический интерфейс пользователя, эффектные программы-«приманки» и многое другое. Если бы кто-нибудь захотел собрать картину воедино, он сумел бы предсказать будущие превращения компьютеров и сферы их использования.
Классические мейнфреймы моей юности были размером с трейлер и безумно дороги. По мощности тогдашние IBM и UNIVAC не превосходили нынешние карманные калькуляторы, но занимали целые комнаты и выделяли огромное количество тепла, даже после того как на смену вакуумным лампам пришли транзисторы. Обслуживанием занимались опытные операторы, поддерживающие бесперебойную работу, а пользователи оставались снаружи, заглядывая в дверь. Для доступа к компьютеру программисты использовали перфораторы, чтобы превратить написанный от руки код в стопку перфокарт – одна карта на строчку. Стопку карт программист скреплял резинкой и передавал оператору, чтобы компьютер прочитал их.
Затем программист отправлялся в офис – ждать, поскольку работа попадала в расписание оператора. В зависимости от приоритета они могли взять вашу стопку через несколько часов или через несколько дней. Стоило одной карточке помяться или попасть не на свое место в колоде, стоило пропасть единственной запятой, выдавалось сообщение об ошибке – и больше ничего. Программистам приходилось самим вылавливать ошибку и начинать сначала.
Так называемая пакетная обработка хорошо действовала в случае масштабных задач, например составления платежной ведомости крупной корпорации. Но она так утомила программистов, что они развернули партизанское движение за большую интерактивность. В 1957 году мечтатель Джон Маккарти продемонстрировал прототип радикально нового программного обеспечения: «систему разделения времени», которая «позволяет каждому пользователю действовать, словно он один работает с машиной». Вместо того чтобы ждать, пока будет обработана пачка перфокарт, пользователь общается с компьютером с помощью клавиатуры терминала. Можно «говорить» с компьютером, получать быстрый ответ, затем вносить коррективы. Программирование становилось больше похожим на беседу.
Разделение времени сделало вычислительные машины доступнее, распределив стоимость на сотни пользователей. Десятки людей могли одновременно обращаться к компьютеру, при этом центральный процессор переключался от работы одного пользователя к следующему в долю секунды. Новый «поочередный» режим оказался не просто более эффективным. Это был скачок, позволивший отказаться от колод перфокарт и намного повысить производительность работы пользователей. В 1965 году General Electric объединила улучшенную версию системы Маккарти с оригинальным Дартмутским Бейсиком и организовала коммерческое обслуживание. Три года спустя Билл Дугалл и «Клуб матерей» заказали ее для Лейксайда.
Мне повезло: я достиг совершеннолетия во время фундаментальных подвижек в компьютерной промышленности. Вычислительные мощности, прежде доступные только правительственным органам, крупным корпорациям и университетам, теперь предоставлялись по часам. Новые технологии доставили эти мощности в отдельные офисы и школы. Как всегда, время сыграло решающую роль. Родись я на пять лет раньше, мне, подростку, не хватило бы терпения мучиться с «пакетной обработкой». Появись я на пять лет позже, когда распределение времени вошло в обиход, у меня не появилась бы возможность пробовать что-то новое.
В Лейксайде программирование не было включено в курс математики, а преподавалось отдельно. За нами приглядывал Фред Райт, молодой учитель математики, который летом прошел курсы программирования на перфокартах в Стэнфорде. Мистер Райт выдал нам учебник по Бейсику и несколько элементарных задачек, чтобы «раздразнить аппетит», а потом оставил нас в покое. И мы, не зная, как правильно, изобретали собственные методы. Мы стали мудрыми по необходимости.
Нам в помощь была предоставлена лишь скудная и поверхностная документация. В учебнике по Бейсику было пятьдесят с чем-то страниц, и я расправился с ним за день или два. Я выучил примерно двадцать главных ключевых слов и то, как работают определенные клавиши на телетайпе. Язык казался иностранным первые два часа, потом наступила ясность. Бейсик был гораздо легче французского: четкая логика, никаких неправильных глаголов, компактный словарь. Если я застревал, то обращался к старшим: а как сделать это? как распечатать то? Они обогнали меня примерно на месяц и с удовольствием демонстрировали свои познания.
В одной из первых программ, позаимствованных из учебника, я нарисовал синусоиду. Каретка телепринтера моталась туда-сюда, выдавая безупречный узор звездочек, словно движимая невидимой рукой. Прошло несколько дней – и Фреду Райту уже нечему было нас учить. Он лишь иногда заглядывал к нам, улыбался и спрашивал:
– Как дела, ребятки?
Некоторые строгие учителя ворчали, что нам предоставили слишком много свободы, но мистер Райт любил балансировать на грани между контролем и хаосом, дразня наш энтузиазм.
Невозможно описать, с каким волнением я садился к телетайпу. Свою программу, написанную на тетрадном листе, я набивал на клавиатуре, включив перфоратор. Потом я набирал номер, соединяясь с компьютером, ждал гудка, подключался с помощью школьного пароля и нажимал кнопку «СТАРТ», чтобы читающее устройство считало перфоленту – на это уходило несколько минут.
И вот наступал торжественный момент. Я набирал слово «RUN», и результаты распечатывались со скоростью десять знаков в минуту – допотопная скорость по сравнению с сегодняшними лазерными принтерами, но впечатляющая в те времена. Вскоре становилось ясно, работает ли программа; в противном случае появлялось сообщение об ошибке. В любом случае я разрывал связь, чтобы сэкономить деньги. Затем исправлял программу: доходил на перфоленте до ошибки и набирал правильные команды на клавиатуре, одновременно набивая новую перфоленту – тонкая работа, которая в наши дни делается одним кликом мышки и нажатием клавиши. Добившись, чтобы программа работала, я скреплял рулон перфоленты резинкой и клал на полку до следующего сеанса.