Выбрать главу

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

В 1970-х гг., когда Джой постигал азы программирования, компьютеры занимали по целой комнате. Одна вычислительная машина — с меньшей мощностью и памятью, чем у вашей микроволновки, — стоила примерно миллион долларов. И это в долларах 1970-х гг. Компьютеров было мало. Если вам удавалось отыскать хотя бы один, пробиться к нему было трудно; если вам удавалось занять за ним место, его использование обходилось в целое состояние.

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

В таких условиях стать программистом-экспертом было чрезвычайно трудно. И разумеется, не могло идти речи о том, чтобы стать настоящим специалистом в двадцать с небольшим. Если из каждого часа, проведенного в компьютерном центре, вы «программировали» лишь несколько минут, каким образом можно было набрать 10 000 часов практики? «Программируя с помощью карточек, — вспоминает компьютерный специалист той эпохи, — ты учился не программированию, а терпению и внимательности».

И здесь в игру вступает Мичиганский университет. В середине 1960-х гг. он представлял собой нетипичное учебное заведение. У него была давняя компьютерная история и были деньги. «Помню, как мы купили полупроводниковое запоминающее устройство. Это было в шестьдесят девятом. Полмегабайта памяти», — вспоминает Майк Александр, один из тех, кто создавал университетскую компьютерную систему. Сегодня полмегабайта памяти стоит четыре цента и умещается на кончике пальца. «Думаю, тогда это устройство стоило несколько сотен тысяч долларов, — продолжает Александр, — и было размером с два холодильника».

Бо́льшая часть учебных заведений не могла себе такого позволить. А Мичиганский университет мог. Но что еще важнее, он был одним из первых университетов, заменивших картонные карточки современной системой разделения времени. Эта система появилась благодаря тому, что к середине 1960-х гг. компьютеры стали гораздо мощнее и могли одновременно обрабатывать несколько задач. Компьютерщики обнаружили, что можно обучить машину обрабатывать сотни заданий одновременно, а это означало, что программистам больше не нужно было таскать операторам стопки карточек. Достаточно было организовать несколько терминалов, посредством телефонной линии подсоединить их к ЭВМ, и все программисты могли одновременно работать онлайн.

Вот как описывает появление разделения времени свидетель тех событий:

«Это была не просто революция, а настоящее откровение. Забудьте об операторах, грудах карточек, очередях. Благодаря разделению времени ты мог сидеть за телетайпом, набивать команды и моментально получать ответ. Разделение времени — система интерактивная: программа запрашивала ответ, ждала, пока ты его напечатаешь, обрабатывала его и выдавала результаты. И все в режиме реального времени».

Мичиганский университет одним из первых в стране ввел систему разделения времени, получившую название MTS (Мичиганская терминальная система). К 1967 г. был запущен в действие прототип системы. В начале 1970-х гг. компьютерные мощности университета позволяли сотне программистов работать одновременно. «В конце шестидесятых, начале семидесятых ни один университет не мог сравниться с Мичиганским, — говорит Александр. — Разве что Массачусетский технологический. Может, еще университет Карнеги-Меллона и Дартмутский колледж. Больше, пожалуй, никто».