Как стать автором
Обновить

Пол Лоутон. Личный взгляд на ранние дни Apple Computer

Время на прочтение 5 мин
Количество просмотров 1.6K
Автор оригинала: Paul Laughton
Воспоминания Пола Лоутона — разработчика первой операционной системы для компьютера Apple II — Apple DOS 3.1. На фотографии Пол в своём домашнем кабинете в 1980 году. За спиной у него Apple II, которая была доставлена ему лично Стивом Джобсом для работы над операционной системой, о которой пойдёт речь дальше. Рядом с монитором — два дисковых накопителя Disk II с серийными номерами 3 и 4.

В 1977 году я загорелся тогда ещё бывшыми в новинку микрокомпьютерами. К тому времени я уже восемь лет работал в IBM системным программистом на больших мэйнфреймах. Операционная система IBM разрослась до огромных размеров (много мегабайт!). Она стала настолько велика, что ни один человек не мог разбираться в ней досконально. Ограниченное адресное пространство (64k) и возможность обладания собственным персональным компьютером вдохновляли меня.
Однажды я зашёл в магазин Byte Shop (первый магазин персональных компьютеров) и обнаружил там брошюру про новый персональный компьютер Apple II и бланк заказа. Apple II был изумителен. Я хотел такой компьютер. Так случилось, что почти одновременно с этим я наткнулся в газете на маленькое рекламное объявление компании Shepardson Microsystems. Они искали программиста. Рано утром я послал им своё резюме. Несколько дней спустя я пришёл на интервью. Оказалось, что Боб Шепардсон только что подписал контракт с Apple Computer на разработку интерпретатора для языка Basic. Он предложил написать интерпретатор мне.
Две недели спустя я оставил свою солидную и надёжную должность в IBM, чтобы начать работу в компании из трёх (теперь четырёх) человек. Через несколько дней у меня была моя собственная рабочая станция Apple II. Компьютер притащил ко мне Стив Джобс. Я узнал, что Basic будет включён в следующее поколение компьютеров Apple под кодовым названием Apple Annie. Воз (Стив Возняк — прим.перев.) был полон энтузиазма относительно новой машины. Она должна была иметь ROM картриджи с программами и множество заказных микросхем.
Одной из проблем, которую нам предстояло разрешить, была загрузка файлов с объектным кодом 6502 из нашей системы разработки в Apple II. Cистема для разработки состояла из микропроцессора COPS с разработанным Бобом Шепардсоном компилятором 6502. На входе у компилятора была колода перфокарт, на выходе — бумажная лента. Как прочесть бумажную ленту в Apple II?
Воз нашёл решение. Он спроектировал для Apple II карту, управляющую устройством чтения бумажной ленты. Однажды, когда мы с Возом настраивали это устройство, я заметил, что Воз выглядит подавленным. Я спросил у него, в чём дело. Он рассказал, что он разработал контроллер флоппи-дисков для Apple II. Он гордился этим, но руководство Apple поставило перед ним совершенно нереальный график для разработки одновременно аппаратной части и дисковой операционной системы. Я сказал, что я могу взять на себя дисковую операционную систему (DOS). Воз был в восторге, и после короткого совещания с Бобом Шепардсоном и Стивом Джобсом мы приступили к работе.
Когда Воз показал мне свои проекты дискового контроллера и программного драйвера для него, я был абсолютно потрясён. В то время все контроллеры дисков представляли собой здоровые печатные платы с десятками больших и маленьких микросхем. Воз спроектировал контроллер, состоявший всего из семи малых интегральных схем. Ещё поразительнее было то, что контроллер Воза имел значительно лучшие характеристики (производительность, плотность данных, надёжность, стоимость), чем существующие контроллеры.
Когда Воз начал этот проект, он не смотрел на то, как это делали раньше другие. Он думал над тем, как это должно было быть сделано. И таким образом он создал нечто совершенно замечательное. Это дало мне пример того, что позднее было названо «мышлением извне ящика». Впоследствие, когда я руководил группами инженеров, я часто рассказывал историю создания этого контроллера Возом, чтобы побудить их мыслить нестандартно. К сожалению, большинство инженеров никогда не достигнут творческого уровня Стива Возняка.
Боб Шепардсон и Стив Джобс потратили две недели на согласование всех подробностей (стоимость, график работ и т.п.), после чего подписали контракт. Если вы взглянете на этот контракт, вы будете поражены. Цена, которую платила Apple, была очень мала по сравнению с ценностью получаемого ей продукта. Сроки для такого объема работ были чрезвычайно сжатыми. Спецификации продукта, условия поставки, критерии его качества, штрафные санкции, премиальные и прочая юридическая абракадабра, которая стала для меня привычной в последующие годы, отсутствовали начисто. Таковы были добрые старые времена!
Поскольку я теперь перестал заниматься Бэйсиком, и так как у нас была и другая работа, Бобу пришлось нанять ещё одного программиста. Я знал отличного кандидата — моя подруга жизни Кэтлин О'Брайен была очень хорошим программистом, и мы отлично работали в тандеме. Несколько недель спустя Кэтлин стала сотрудником номер 5 в Shepardson Microsystems.
Пока я работал над DOS, в Apple произошли большие изменения. Они переехали из маленького офиса за рестораном Good Earth в Купертино в свою новую «всемирную штаб-квартиру» (World Wide Headquarters) на Бэндли Драйв. Мы любили подшучивать над «всемирностью». Apple была крошечным стартапом, который только начинал доставку первых образцов своей продукции покупателям. Shepardson Microsystems сделала уже множество проектов для подобных маленьких начинающих компаний, и все они канули в небытие. Почему с Apple не случится того же?
В один прекрасный день Стив Джобс предложил купить Shepardson Microsystems, чтобы сформировать ядро команды Apple по разработке программного обеспечения. Боб отказался. Дело в том, что Стив мог заплатить за Shepardson Microsystems только акциями Apple. Возможно, что Боб проявил бы больше интереса, если бы Стив предложил значительный пакет акций, но Стив не соглашался уступить больше, чем 10% акций Apple.
Одно из этих больших изменений произошло, когда Apple приняла на работу Джеффа Раскина в качестве руководителя группы технических писателей. На плечи Джеффа легла задача по написанию руководств пользователя для DOS и нового Basic. Задача чрезвычайно осложнялась тем, что ни для одного из этих продуктов не существовало никаких спецификаций. У Джеффа была почти законченная версия DOS, но c Basic дела обстояли хуже — к тому времени был готов только синтаксический анализатор. Джефф принял решение писать руководство, которое одновременно служило бы спецификациями. Всё это было бы хорошо, но у Джеффа было множество собственных идей. По мере написания руководства спецификации для обоих продуктов вышли далеко за границы первоначальных договорённостей. Что касается DOS, пришлось в последнюю минуту заключать дополнительные контракты, включающие сделанные Джеффом добавления. К счастью, возможность вносить изменения в DOS сдерживалась сроками поставки продукта.
Но с Basic этих сдерживающих факторов не было, и наш маленький Basic рос, рос, и рос. Он перестал помещаться в 48k оперативной памяти. Нам пришлось разрабатывать сегментацию кода и оверлеи. Джефф признал размер получившегося монстра, назвав его NOTZO BASIC (игра слов с not so basic — прим.перев.). Мы называли его NutSo Basic (по-видимому, «свихнувшийся» Basic — прим. перев.).
Заключительная глава нашего сотрудничества с Apple наступила вскоре после совместного совещания в октябре 1978 года. Я отсканировал протокол совещания, который вёл Рэнди Уиггинтон. Файл meeting.gif содержит вступление, а файл meeting.txt — полный протокол совещания. Как вы можете видеть, первая часть совещания была посвящена исправлению некоторых ошибок в сдаваемой нами DOS 3.0. Вторая часть встречи превратилась в обсуждение раздутого NOTZO Basic. Я исправил ошибки в DOS на месте, представив Apple размеченный листинг. Проблема с Бэйсиком разрешилась очень скоро, после того как Apple закрыла проект Apple Annie и аннулировало контракт на Basic. Нас с Шепардсоном это не особенно опечалило. Нас ждала Atari и контракт на написание Basic для нового компьютера Atari 800. Но это уже другая история…
Часто спрашивают, почему первый выпуск Apple DOS был назван Apple DOS 3.1. Дело в том, что при каждой повторной компиляции кода я увеличивал счётчик версий. Счётчик стартовал с версии Rev 0.1. Когда я добирался до (n).9, я переходил к (n+1).0. Первый листинг, который я передал Apple, имел номер Rev 2.8. Кто-то в Apple (я забыл, кто именно) решил, что они не могут назвать операционную систему DOS 2.8, поэтому название изменили на DOS 3.0. Именно с этой версией (2.8 переименованной в 3.0) Apple проводило бета-тестирование, а когда они стали поставлять эту DOS, они увеличили номер на 3.1, чтобы показать, что код изменился по сравнению с бета-версией. Когда я в последний раз передавал исходный код в Apple в октябре 1978 года, номер версии дошёл до Rev 6.3.
Теги:
Хабы:
+28
Комментарии 11
Комментарии Комментарии 11

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн