Кен Уильямс – Взлет и падение Sierra On-Line. Сказка с несчастливым концом (страница 6)
Я получил несколько предложений о работе от администрации округа, но так и не соблазнился. Роберта тоже получила несколько предложений и начала свою новую жизнь в качестве оператора ЭВМ – теперь уже она таскала магнитные ленты на благо округа Лос-Анджелес.
Проработала она там недолго. Полгода, что ли? Это было так давно, что никто из нас не помнит. Конечно, почти сразу же после того, как жена вышла на работу, я захотел, чтобы она продвигалась вверх по карьерной лестнице. Роберта и к работе-то отнеслась без энтузиазма, а к идее о том, что ей нужно искать работу программистом – и подавно.
Роберта думала, что я сошел с ума, когда настаивал именно на таком трудоустройстве. Я уговорил ее пройти в колледже курсы программирования на языке COBOL[9], на котором в то время программировал я сам. Параллельно с обучением на курсах я дополнительно поднатаскал ее на домашних занятиях и убедил разослать резюме. Все это время Роберта не переставала на меня ворчать.
Найти ей работу оказалось проще простого. В середине семидесятых годов на улицах Лос-Анджелеса проще было встретить слона, чем отыскать женщину-программиста. Так и представляю себе лица менеджеров, когда им на стол легло резюме молодого начинающего программиста по имени «Роберта». Разве такое бывает? Роберту немедленно приняли на работу программистом на языке COBOL в компанию Lawry’s Foods из Лос-Анджелеса.
Официально должность Роберты называлась «программист-стажер на COBOL». Работала она хорошо, но ей не хватало мотивации, чтобы по-настоящему вникнуть в суть дела. Кроме того, ей поручили проект по обустройству корпоративной бухгалтерии, но в бухгалтерском учете Роберта не разбиралась никак.
Но ни одна из этих проблем не ставила работу под угрозу. Кто мог бы уволить женщину-программиста в середине 1970-х? Это было просто невозможно. И, по правде говоря, Роберта очень хорошо справлялась. Если в течение рабочего дня у нее что-то и не получалось, то дома я помогал ей разобраться и исправить код. Все задачи у нее были сделаны и сделаны правильно. Думаю, в Lawry’s замечали, что Роберта работает как-то необычно, но в конечном счете всех все устраивало.
Роберта проработала в Lawry’s не слишком долго: ей не нравилось программирование, нашему сыну нужно было уделять больше внимания, а я редко бывал дома.
Лос-анджелесские пробки: час на дорогу туда, час обратно
Мы с Робертой постоянно обсуждали, что хотим уехать из Лос-Анджелеса. Причин было много, но в основном все сводилось к тому, что мы говорили: «Разве не здорово было бы жить где-нибудь в лесу?» Наш второй сын Крис родился в мае 1979 года, а нашему старшему, Диджею, скоро должно было исполниться шесть лет. Хотели ли мы, чтобы он, когда подрастет, ходил в школу в Лос-Анджелесе, где его наверняка подстерегают наркотики и насилие? К тому же меня выматывала дорога на работу и обратно – приходилось по несколько часов в день стоять в лос-анджелесских пробках.
К сожалению, для разработчиков программного обеспечения в маленьких городках с работой было туго. Если я хотел работать программистом, жить надо было там, где я мог найти работу.
Решение нашлось, когда мне предложили работу в авиастроительной компании Boeing в Сиэтле. Сегодня Сиэтл – это центр IT-индустрии, там расположены штаб-квартиры Microsoft, Expedia, Amazon, Zillow и многих других компаний. Однако в те времена всех этих фирм не было еще и в планах: единственным работодателем в городе, который хоть чего-то стоил, была Boeing. Сиэтл в те времена был городом немаленьким, но и не особенно большим.
Чтобы принять предложение о работе в Сиэтле, нам нужно было продать дом в Бербанке, штат Калифорния. Мы выставили наш дом на продажу, и его вроде бы купили, но по условиям сделки сумму на 90 дней нужно было положить на специальный счет в банке. Компания Boeing согласилась меня подождать, но спустя буквально несколько дней, когда мы уже собирались переезжать, продажа сорвалась[10]. Мы собрали вещи и мысленно уже были в Сиэтле – страшное разочарование. Мы хотели уехать из Лос-Анджелеса, и Сиэтл был нашей единственной надеждой. Boeing отозвала свое предложение о работе.
Моя последняя работа «на дядю» на полный рабочий день была в компании под названием Informatics. Это была работа мечты, на которой я получал невероятный опыт – там мне довелось поработать с новейшими технологиями на новейших системах. Сейчас это трудно представить, но в то время IBM доминировала на рынке. Все знали поговорку: «Никого никогда не увольняют за покупку IBM». Компьютеры IBM были самыми дорогими, но лучшими – самыми мощными, самыми быстрыми, за ними стояли лучшие продажники, они занимали доминирующее положение на рынке. Я поставил себе задачу номер один: изучить все, что связано с IBM.
Informatics создала компьютерный язык – он же еще и система баз данных – под названием Mark IV. На компьютерах IBM он был крайне популярен. Мне самому всегда хотелось работать над созданием языка программирования или системы баз данных: для программиста лучше работы не придумать. К тому же меня окружали талантливейшие люди, ведь Informatics не жалела денег на зарплаты и грамотно подбирала себе кадры. Каждый день я учился чему-то новому.
Однако все это было не так важно, как наше желание переехать из Лос-Анджелеса. И, к сожалению, у меня не было других возможностей это сделать, кроме как начать работать на себя. Мне нужно было открыть какую-то компанию, которой можно было бы управлять из дома, живя в лесу.
Я и Боб Лефф – тоже инженер-компьютерщик в Informatics – каждый день обедали вместе и обсуждали идеи компаний, которые мы могли бы открыть.
Я размышлял над этой затеей – какой бы бизнес мне открыть – и отметил, что как раз тогда корпорация Tandy (она же Radio Shack) выпустила свой персональный компьютер[11], и примерно в то же время Стив Джобс и Стив Возняк представили Apple II.
Еще я увидел, что какая-то крошечная компания Microsoft выпустила для компьютера TRS-80 язык программирования под названием BASIC. Я подумал, что сейчас для этих «персональных компьютеров» может возникнуть целый рынок других языков программирования, и мы с Бобом начали рассуждать, как можно портировать Fortran (тоже язык программирования) на TRS-80.
Как раз когда я планировал следующий шаг, Роберта подарила мне на Рождество компьютер Apple II. Apple II был намного мощнее TRS-80 и мог даже загружать программы со стандартных аудиокассет![12]
Я сразу понял, что будущее именно за Apple II. У этого компьютера был невероятно большой объем памяти (16k) и мощный процессор (6502).
Мы с Бобом Леффом начали работать над реализацией Fortran на компьютере Apple II. Microsoft предлагала для Apple II свой BASIC, и я был уверен, что сможем их обойти – все-таки Fortran как язык программирования был намного мощнее.
TRS-80 Model 1
Apple II
Пример программы на Fortran
Во времена, когда я только начал заниматься компилятором Fortran, я все еще работал в компании Informatics и еще подрабатывал у нескольких других работодателей.
Одна из этих подработок требовала, чтобы я брал домой телетайп, позволяющий мне писать код для какого-то невидимого удаленного компьютера. Этот телетайп мне, возможно, предоставила Лос-Анджелесская детская больница, но теперь я такие мелочи уже не вспомню.
Для меня это была далеко не первая встреча с устройствами, подключенными к удаленным мейнфреймам (большим компьютерам). На самом деле, мои подработки, благодаря которым я писал код для разных лос-анджелесских организаций, были оформлены как консалтинговая практика под названием On-Line Systems. Я поднаторел в работе с компьютерами, к которым люди обращались через удаленные терминалы. В частности, я специализировался на технологиях IMS и CICS, а также на системе баз данных IMS-DB.
В те дни еще не было такого понятия, как «Интернет». На самом деле, тогда не было еще ничего даже отдаленно похожего на Интернет. Существовали удаленные терминалы, их подключали к компьютерам-мейнфреймам – но это подключение было непосредственно к мейнфрейму и ни к чему другому. Не все терминалы были такими же громоздкими, как телетайп, который я принес домой. Большинство терминалов, с которыми я тогда работал, были уже с ЭЛТ-дисплеями (на основе электронно-лучевой трубки) и использовали для отображения страниц данных систему, не сильно отличающуюся от современной, которая используется сейчас в Интернете для отображения веб-страниц (HTML).
Телетайп, акустический модем и считыватель бумажных лент
С телетайпом обращаться приходилось так: программу надо было загрузить с бумажной ленты, а затем с помощью акустического модема подключиться к удаленному компьютеру. Модемом было маленькое устройство, которое передавало данные в виде звука – немного похоже на азбуку Морзе, когда случайные, на первый взгляд, гудки и писк представляли данные. И их передавали в виде звука по телефонной линии.
Этот модем передавал данные со скоростью «110 бод», что на техническом языке означало «одуреть как медленно». «Насколько медленно?» – спросите вы. Ну… почти все фотографии, которые я делаю на свой iPhone, размером около 2 мегабайт. Чтобы передать 2 мегабайта данных на скорости 110 бод, потребовалось бы не менее сорока пяти часов, если бы соединение вообще не оборвалось раньше. Достаточно сказать, что никто не отправлял фотографии через акустический модем.