Гении и аутсайдеры: Почему одним все, а другим ничего?
Шрифт:
Итак, вернемся к Биллу Джою. В 1971 г. это был высокий застенчивый шестнадцатилетний подросток. Гений математики, один из тех, кого привлекают Массачусетский технологический институт, Калифорнийский технологический институт или университет Ватерлоо. «В детстве Билл хотел знать все обо всем и задолго до того, как должен был бы понять, что хочет что-то узнать, — рассказывает его отец Уильям. — Мы отвечали, если знали ответ. А если не знали, давали ему книгу». При поступлении в колледж в тесте академических способностей Scholastic Aptitude Test Джой набрал максимальный балл по математике. «Ничего особо трудного там не было, — деловито говорит он. — Оставалась еще куча времени на то, чтобы все два раза проверить».
Он мог бы выбрать любую стезю: получить докторскую степень
В 1970-х гг., когда Джой постигал азы программирования, компьютеры занимали по целой комнате. Одна вычислительная машина — с меньшей мощностью и памятью, чем у вашей микроволновки, — стоила примерно миллион долларов. И это в долларах 1970-х гг. Компьютеров было мало. Если вам удавалось отыскать хотя бы один, пробиться к нему было трудно; если вам удавалось занять за ним место, его использование обходилось в целое состояние.
Более того, программирование в то время являло собой крайне утомительное занятие. Это была эпоха программ, создаваемых с помощью картонных перфокарт. Клавишный перфоратор набивал на карточке строчки кодов. Сложная программа состояла из сотен — если не тысяч — таких карточек, хранившихся в огромных стопках. Когда программа была готова, вы искали доступ к вычислительной машине и отдавали кипы карточек оператору. Поскольку компьютеры могли выполнять лишь по одной команде за раз, оператор записывал вас в очередь, поэтому получить карточки обратно можно было лишь через несколько часов или через день в зависимости от того, сколько человек было перед вами. А если в программе обнаруживалась хоть малейшая ошибка, пусть даже опечатка, вы забирали карточки, выискивали ее и начинали все с начала.
В таких условиях стать программистом-экспертом было чрезвычайно трудно. И разумеется, не могло идти речи о том, чтобы стать настоящим специалистом в двадцать с небольшим. Если из каждого часа, проведенного в компьютерном центре, вы «программировали» лишь несколько минут, каким образом можно было набрать 10 000 часов практики? «Программируя с помощью карточек, — вспоминает компьютерный специалист той эпохи, — ты учился не программированию, а терпению и внимательности».
И здесь в игру вступает Мичиганский университет. В середине 1960-х гг. он представлял собой нетипичное учебное заведение. У него была давняя компьютерная история и были деньги. «Помню, как мы купили полупроводниковое запоминающее устройство. Это было в шестьдесят девятом. Полмегабайта памяти», — вспоминает Майк Александр, один из тех, кто создавал университетскую компьютерную систему. Сегодня полмегабайта памяти стоит четыре цента и умещается на кончике пальца. «Думаю, тогда это устройство стоило несколько сотен тысяч долларов, — продолжает Александр, — и было размером с два холодильника».
Большая часть учебных заведений не могла себе такого позволить. А Мичиганский университет мог. Но что еще важнее, он был одним из первых университетов, заменивших картонные карточки современной системой разделения времени. Эта система появилась благодаря тому, что к середине 1960-х гг. компьютеры стали гораздо мощнее и могли одновременно обрабатывать несколько задач. Компьютерщики обнаружили, что можно обучить машину обрабатывать сотни заданий одновременно, а это означало, что программистам больше не нужно было таскать операторам стопки карточек. Достаточно было организовать несколько терминалов, посредством телефонной линии подсоединить их к ЭВМ, и все программисты могли одновременно работать онлайн.
Вот как описывает появление разделения времени свидетель тех событий:
«Это была не просто революция, а настоящее откровение. Забудьте об операторах, грудах карточек, очередях. Благодаря разделению времени ты мог сидеть за телетайпом, набивать команды и моментально получать ответ. Разделение времени — система интерактивная: программа запрашивала ответ, ждала, пока ты его напечатаешь,
Мичиганский университет одним из первых в стране ввел систему разделения времени, получившую название MTS (Мичиганская терминальная система). К 1967 г. был запущен в действие прототип системы. В начале 1970-х гг. компьютерные мощности университета позволяли сотне программистов работать одновременно. «В конце шестидесятых, начале семидесятых ни один университет не мог сравниться с Мичиганским, — говорит Александр. — Разве что Массачусетский технологический. Может, еще университет Карнеги-Меллона и Дартмутский колледж. Больше, пожалуй, никто».
Вот какие возможности открылись перед Биллом Джоем осенью 1971 г., когда он прибыл в кампус Энн-Арбора. Он выбрал Мичиганский университет вовсе не из-за компьютеров. В средней школе он не имел с ними дела. Его интересовали математика и инженерия. Но когда на первом курсе он серьезно «заболел» компьютерами, оказалось, что по счастливой случайности он учится в одном из немногих университетов в мире, где 17-летний студент может программировать в полное свое удовольствие.
«Знаете, чем отличается программирование с помощью перфокарт и разделение времени? — спрашивает Джой. — Тем же, чем игра в шахматы по почте отличается от очной игры на скорость». Программирование перестало приносить разочарования и превратилось в развлечение.
«Я жил в северном кампусе, и там же располагался компьютерный центр, — продолжает рассказывать наш герой. — Сколько времени я там проводил? Феноменально много. Центр работал 24 часа в сутки, и я просиживал там всю ночь, а утром возвращался домой. В те годы я проводил в центре больше времени, чем на занятиях. Все мы, помешанные на компьютерах, жутко боялись забыть о лекциях и вообще о том, что мы учимся в университете.
Была одна проблема: всем студентам разрешалось работать за компьютером строго определенное время. Когда ты записывался, то должен был указать, как долго собираешься сидеть. Давали примерно один час. На большее нечего было рассчитывать, — эти воспоминания развеселили Джоя. — Но кто-то вычислил, что если поставить время, потом знак „равно“ и букву, t = к, то отсчет времени не начнется. Такая вот ошибка в программном обеспечении. Ставишь t = к — и можешь сидеть там до бесконечности».
Обратите внимание, сколько благоприятных возможностей выпало на долю Билла Джоя. Поскольку ему посчастливилось попасть в университет с дальновидным руководством, он получил шанс осваивать программирование с помощью системы с разделением времени, без перфокарт; поскольку в MTS закралась ошибка, он мог программировать сколько душе угодно; поскольку университет был готов тратить деньги на то, чтобы держать компьютерный центр открытым 24 часа в сутки, он мог проводить там ночи напролет; и поскольку ему удалось потратить на свое образование так много часов, он был во всеоружии, когда представилась возможность переписать UNIX. Билл Джой был исключительно талантлив. Он хотел учиться. И этого у него не отнять. Но прежде, чем он стал специалистом, ему должна была представиться возможность научиться всему тому, чему он научился.
«В Мичигане я программировал по восемь-десять часов в день, — признается Билл. — Когда поступил в Беркли, то посвящал этому дни и ночи. Дома у меня стоял терминал, и я не ложился до двух-трех часов ночи, смотрел старые фильмы и программировал. Иногда так и засыпал за клавиатурой, — он продемонстрировал, как его голова падала на клавиатуру. — Когда курсор доходит до конца строки, клавиатура издает такой характерный звук: бип-бип-бип. После того как это повторяется три раза, нужно идти спать. Даже поступив в Беркли, я оставался зеленым новичком. Ко второму курсу я поднялся выше среднего уровня. Именно тогда я стал писать программы, которыми пользуются до сих пор, тридцать лет спустя, — он на секунду задумывается, мысленно производя подсчеты, что у такого человека, как Билл Джой, не отнимает много времени. Мичиганский университет в 1971 г. Активное программирование ко второму курсу. Прибавьте сюда летние месяцы и дни и ночи, уделяемые этому занятию в Беркли. — Пять лет, — подводит итог Джой. — И начал я только в Мичиганском университете. Так что, наверное… десять тысяч часов? Думаю, так и есть».