3
Итак, вернемся к Биллу Джою. В 1971 г. это был высокий застенчивый шестнадцатилетний подросток. Гений математики, один из тех, кого привлекают Массачусетский технологический институт, Калифорнийский технологический институт или Университет Ватерлоо. «В детстве Билл хотел знать все обо всем и задолго до того, как должен был бы понять, что хочет что-то узнать, – рассказывает его отец Уильям. – Мы отвечали, если знали ответ. А если не знали, давали ему книгу». При поступлении в колледж в тесте академических способностей Scholastic Aptitude Test Джой набрал максимальный балл по математике. «Ничего особо трудного там не было, – деловито говорит он. – Оставалась еще куча времени на то, чтобы все два раза проверить».
Он мог бы выбрать любую стезю: получить докторскую степень по биологии, поступить в медицинский колледж. Мог бы погрузиться в типичную студенческую жизнь: учеба, футбол, вечеринки с выпивкой, подготовка к экзаменам в последнюю ночь, неуклюжие знакомства с девушками, разговоры с товарищами по комнате о смысле жизни – одним словом, в бурную и хаотичную жизнь, знакомую большинству студентов. Но он этого не сделал, потому что случайно забрел в непримечательное здание на Бил-авеню.
В 1970‑х гг., когда Джой постигал азы программирования, компьютеры занимали по целой комнате. Одна вычислительная машина – с меньшей мощностью и памятью, чем у вашей микроволновки, – стоила примерно миллион долларов. И это в долларах 1970‑х гг. Компьютеров было мало. Если вам удавалось отыскать хотя бы один, пробиться к нему было трудно; если вам удавалось занять за ним место, его использование обходилось в целое состояние.
Более того, программирование в то время являло собой крайне утомительное занятие. Это была эпоха программ, создаваемых с помощью картонных перфокарт. Клавишный перфоратор набивал на карточке строчки кодов. Сложная программа состояла из сотен – если не тысяч – таких карточек, хранившихся в огромных стопках. Когда программа была готова, вы искали доступ к вычислительной машине и отдавали кипы карточек оператору. Поскольку компьютеры могли выполнять лишь по одной команде за раз, оператор записывал вас в очередь, поэтому получить карточки обратно можно было лишь через несколько часов или через день в зависимости от того, сколько человек было перед вами. А если в программе обнаруживалась хоть малейшая ошибка, пусть даже опечатка, вы забирали карточки, выискивали ее и начинали все с начала.
В таких условиях стать программистом-экспертом было чрезвычайно трудно. И разумеется, не могло идти речи о том, чтобы стать настоящим специалистом в двадцать с небольшим. Если из каждого часа, проведенного в компьютерном центре, вы «программировали» лишь несколько минут, каким образом можно было набрать 10 000 часов практики? «Программируя с помощью карточек, – вспоминает компьютерный специалист той эпохи, – ты учился не программированию, а терпению и внимательности».
И здесь в игру вступает Мичиганский университет. В середине 1960‑х гг. он представлял собой нетипичное учебное заведение. У него была давняя компьютерная история и были деньги. «Помню, как мы купили полупроводниковое запоминающее устройство. Это было в шестьдесят девятом. Полмегабайта памяти», – вспоминает Майк Александр, один из тех, кто создавал университетскую компьютерную систему. Сегодня полмегабайта памяти стоит четыре цента и умещается на кончике пальца. «Думаю, тогда это устройство стоило несколько сотен тысяч долларов, – продолжает Александр, – и было размером с два холодильника».
Б о льшая часть учебных заведений не могла себе такого позволить. А Мичиганский университет мог. Но что еще важнее, он был одним из первых университетов, заменивших картонные карточки современной системой разделения времени. Эта система появилась благодаря тому, что к середине 1960‑х гг. компьютеры стали гораздо мощнее и могли одновременно обрабатывать несколько задач. Компьютерщики обнаружили, что можно обучить машину обрабатывать сотни заданий одновременно, а это означало, что программистам больше не нужно было таскать операторам стопки карточек. Достаточно было организовать несколько терминалов, посредством телефонной линии подсоединить их к ЭВМ, и все программисты могли одновременно работать онлайн.
Вот как описывает появление разделения времени свидетель тех событий:
«Это была не просто революция, а настоящее откровение. Забудьте об операторах, грудах карточек, очередях. Благодаря разделению времени ты мог сидеть за телетайпом, набивать команды и моментально получать ответ. Разделение времени – система интерактивная: программа запрашивала ответ, ждала, пока ты его напечатаешь, обрабатывала его и выдавала результаты. И все в режиме реального времени».
Читать дальше
Конец ознакомительного отрывка
Купить книгу