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