Дэвид Хейнемейер Ханссон 5 глава




Ливингстон. Вы тоже хотели пойти по пути предоставления лицензий?

Бхатия. Нет, это оказалось бы сложнее, поскольку в нашем случае стоимость была значительно выше. В то же время доходы от рекламы при поиске намного выше, чем в случае электронной почты. Ведь при поиске люди настроены найти нужную информацию, а значит, готовы щелкать на ссылках. Работа с электронной почтой более целенаправленна. Вы не станете отвлекаться на рекламные баннеры, а прочтете то, что вам написал друг. То есть электронная почта представляет собой конечный, а не программный продукт, при использовании которого совершается большое количество переходов по внешним ссылкам. Поэтому я не представляю, куда бы нас завела дорога с предоставлением лицензий.

Ливингстон. Вспоминая теперь работу в компании Hotmail, чему вы удивляетесь больше всего?

Бхатия. Я всегда знал, что когда‑нибудь Hotmail станет успешной. Однако даже я был поражен тем, что прошло всего 20 месяцев с момента ее создания до продажи. Такие случаи происходят достаточно редко. С тех пор мне не удалось повторить столь стремительного взлета компании.

Можно сказать, что мне повезло. Я оказался в нужном месте в нужное время. За последние пять лет я много размышлял о новых идеях и новых компаниях, а также принимал участие в действительно интересных проектах. Но я не думаю, что какой‑либо из них станет успешным за такой короткий период времени.

Ливингстон. Электронная почта, доступная через веб‑интерфейс, была одной из тех блестящих идей, которые лежали на поверхности и при этом оставались незамеченными. Как вам с Джеком Смитом удалось ее обнаружить?

Бхатия. Честно говоря, не знаю. Могу раскрыть один из секретов Интернета: существуют тысячи идей, которые остаются незамеченными. Почему так происходит? Я не знаю. В случае с Hotmail нам предстояло отыскать решение собственной проблемы, им стал веб‑интерфейс. Иногда идеи возникают по необходимости: вы решаете проблему для себя и надеетесь, что это поможет и другим.

Один из главных уроков, которые я усвоил при создании Hotmail заключается в том, что прежде всего следует завоевать расположение клиентов. В службе Hotmail мы регистрировали пользователей бесплатно. Несмотря на это, мой опыт ведения бизнеса в Интернете (а это около 10–15 лет) говорит о том, что не обязательно сразу получать прибыль от клиентов. В конечном итоге вы всегда сможете извлечь выгоду из широкой базы, убеждая их воспользоваться тем или иным сервисом.

Ливингстон. Можете ли вы дать совет тем, кто собирается создавать собственный стартап?

Бхатия. Главный совет будет достаточно банальным: обязательно напишите бизнес‑план, поскольку это позволит оформить свои мысли и четко изложить идеи. Дайте кому‑нибудь прочесть его и попросите высказать критические замечания, а также задать вопросы, если что‑то окажется непонятным.

Не нужен выдающийся бизнес‑план, распечатанный на глянцевой бумаге. В этом документе не следует предоставлять огромный объем информации. По сути, в нем вы просто рассказываете, чем планирует заниматься компания, какие проблемы она будет решать, насколько широким является рынок, где вы собираетесь работать, в чем видите источники доходов, какую стратегию «выхода» планируете для инвесторов, какой объем финансирования потребуется, как вы намерены выйти на рынок, какие сотрудники нужны, и какие существуют риски в его реализации (производственные и коммерческие). Это ключевые составляющие любого бизнес‑плана. Многие создают бизнес‑планы в уме, не записывая их на бумаге.

Второй совет: не пытайтесь разительно менять поведение пользователей. Если вы надеетесь, что они изменят привычный для себя образ действий, то этого не произойдет. Постарайтесь ограничиться небольшими, но важными нововведениями. Например, причина успеха Hotmail заключалась в том, что пользователи привыкли посещать различные веб‑сайты. Для создания учетной записи Hotmail им было достаточно ввести свои имя и пароль, а также предоставить немного информации о себе.

Еще одна причина широкой популярности Hotmail состояла в феноменальной саморекламе: адрес отправителя каждого письма, созданного с помощью Hotmail, завершался строкой @hotmail.com. Это имело огромное значение для продвижения бренда. Поэтому когда люди помещали адрес нашей почты на визитные карточки, лучшей рекламы для бренда трудно было придумать.

Еще один совет: постарайтесь завоевать доверие клиентов. Пытайтесь устранить любые ошибки в продукте, и тогда вы добьетесь солидной репутации у конечных пользователей. Устанавливайте партнерские взаимоотношения – успехи компании Google на этом поприще просто поразительны. Лицензирование услуги поиска на сайтах партнеров позволило Google создать так называемые интернет‑порталы. Но в конечном итоге компания завоевала клиентов благодаря продвижению своего бренда.

Ливингстон. Вы по специальности – программист. Как вы научились писать бизнес‑планы? Расскажите о бизнес‑плане, который вы составили для компании Hotmail.

Бхатия. У каждого человека есть природные дарования. Один из моих естественных талантов, как мне кажется, – умение излагать свои мысли окружающим. А бизнес‑план предполагает общение с человеком. Только этот человек не сидит перед вами, а читает то, что вы написали. Попробуйте ответить на все вопросы, которые могут у него возникнуть. Вот и весь бизнес‑план.

Я не учился этому, просто обрисовал проблему, которую мы собираемся решить, и в двух абзацах описал нынешние и будущие возможности Интернета. Затем я изложил идею, которая, с нашей точки зрения, поможет в этом. Я рассказал, как мы собираемся получить прибыль от ее реализации и каких показателей в расчете на количество просмотров собираемся добиться. То есть как все будет происходить в виртуальном мире. Вот и вся суть моего бизнеса‑плана.

Я написал бизнес‑план для компании Hotmail за одну ночь и на следующий день пошел на работу уставший и сонный. Мой начальник спросил: «Еще одна вечеринка до утра?» А я ответил: «Да, что‑то вроде того». Он проявил понимание: «Ладно. Ты сможешь нормально работать только после обеда. Сейчас отдыхай». Хорошо, что он не знал, что ночью я не участвовал в вечеринке, а составлял бизнес‑план.

 

Глава 3

Стивен Возняк

Один из основателей компании Apple Computer

 

Эра персональных компьютеров началась со Стивена Возняка. Созданная им модель Apple II стала первым массовым настольным ПК.

Два Стивена – Возняк и Джобс – основали компанию Apple Computer в 1976 году. Глубокие технические знания Возняка и невероятная энергия Джобса сделали их очень эффективной командой. Стивен Возняк впервые продемонстрировал созданный своими руками компьютер Apple I на собрании членов клуба Homebrew Computer Club в 1976 году. Затем Джобсу удалось заключить с местным магазином Byte Shop контракт на поставку 100 собранных вручную устройств. Это стало началом стремительного взлета компании.

Вскоре Стивен Возняк разработал улучшенную версию своего ПК Apple II – модель, на которой Apple Computer сделала себе имя. Возняк самостоятельно собрал прототип компьютера и написал для него программное обеспечение, что было настоящим подвигом даже для тех лет. Более того, параллельно Стивен продолжал работать на полную ставку в компании Hewlett‑Packard. Компьютер Apple II впервые представили широкой публике в 1977 году на выставке West Coast Computer Fair.

Компания Apple Computer провела первичное размещение акций (IPO) в 1980 году. При этом было привлечено рекордное количество средств со времен проведения IPO компанией Ford в 1956 году. В результате учредители Apple в одночасье стали миллионерами.

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

Ливингстон. Расскажите о своей жизни до момента создания компании Apple Computer.

Возняк. Еще учась в школе, я знал, что могу собрать компьютер, в котором будет в два раза меньше микросхем, чем в тех, которые в то время уже продавались. Я – самоучка и благодаря самообразованию выучил все тонкости компьютеров. Когда в чем‑то хорошо разбираешься, то хочешь извлечь из этого пользу. Мне удавалось создавать устройства из небольшого количества деталей благодаря знанию этих самых тонкостей. Я всегда ценил устройства, состоящие из небольшого числа элементов.

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

До создания компании Apple я несколько лет работал в Hewlett‑Packard, где проектировал научные калькуляторы. То есть имел дело с самыми современными вычислительными устройствами того времени. Однако в результате я основал стартап на стороне. Возвращаясь с работы, я продолжал возиться с электроникой. Но это не были калькуляторы. Вместе с другими энтузиастами я приложил руку к созданию первых компьютерных игр типа пинбол и устройств для воспроизведения фильмов в номерах отелей… На самом деле еще до появления на рынке компании Betamax первые видеомагнитофоны выпустил американский производитель Cartravision. Они встраивались в телевизоры, продаваемые через торговую сеть Sears. И я принимал в этом участие. Мне очень понравилась идея аркадных игр. (Первая аркада Pong для домашних компьютеров стала родоначальницей целого направления игровой индустрии.) Поэтому я самостоятельно разработал один из таких проектов. Затем компания Atari захотела, взяв его за основу, выпустить первую версию Pong для домашних компьютеров. Они попросили реализовать игру на заказном чипе, чтобы продать как можно больше ее копий. Ко мне с этой идеей пришел Стив Майер. Но я уже был связан с компанией Atari, руководители которой признали мои таланты и пожелали взять на работу.

Ливингстон. Как они о вас узнали?

Возняк. В Atari на неполный рабочий день устроился Стив Джобс. Ему предстояло завершить создание игровых автоматов для новой версии игры Pong. Джобс привел меня в компанию, все показал, а Нолан Бушнелл сразу же предложил мне место. Я был ошарашен: «Нет. Я никогда не уйду из Hewlett‑Packard. Это дело всей моей жизни. Для меня честь в ней работать, поскольку там очень хорошо относятся к инженерам». Это была правда. Инженеры, работавшие в Hewlett‑Packard на низшей ступеньке организационной пирамиды, могли свободно предлагать идеи, и они немедленно внедрялись в производство. В компании царила полная демократия, поощрялось проведение дискуссий и внедрение инноваций. Поэтому я не собирался никуда уходить. Я планировал проработать в ней инженером всю жизнь.

Затем я создал для Atari игру Breakout, ставшую невероятно популярной. Мне было очень приятно, что мое имя ассоциируется с одним из лучших на рынке видеоигр программным продуктом. Ведь они положили начало целой индустрии компьютерных развлечений, и я был причастен к этому. Мне хотелось оставаться дизайнером игр.

Затем я принял участие еще в одном проекте. В сеть под названием ARPANET было объединено чуть более десятка компьютеров. В ней разрешалось выбрать, к какому ПК вы хотите подключиться с правами гостя, а при наличии пароля – с более широкими привилегиями пользователя. Когда я в реальном времени увидел, как кто‑то набирает текст на телетайпе, и пообщался с пользователем из Бостона на тему игры в шахматы, то сказал себе: «Я должен это сделать. Я должен это сделать своими руками».

Я не мог себе позволить приобрести необходимое оборудование, а тем более купить телетайп. Поэтому предстояло спроектировать собственный терминал для подключения к сети. Единственным бесплатным устройством для отображения символов был домашний телевизор. Я купил клавиатуру за 60 долларов, что в то время было очень дешево. Она оказалась самым дорогим компонентом моего терминала. После этого осталось разработать логическую схему, чтобы отображать на телевизионном экране точки, соответствующие буквам алфавита, и выводить данные, получаемые с удаленного компьютера. Для их передачи использовалась клавиатура и созданный для этого модем. Таким образом, у меня получился телевизионный терминал. Параллельно я продолжал работать в Hewlett‑Packard. Сторонние компьютерные проекты были для меня просто развлечением, которому я предавался по вечерам и в выходные в своей квартире в Купертино.

Еще во время обучения в колледже я смастерил «синюю коробку». Это устройство позволяло выполнять бесплатные телефонные звонки в другие города и страны. Стив Джобс, услышав об этом, предложил делать их на продажу. Теперь, когда я собрал видеотерминал, он снова сказал: «Есть один местный магазинчик, который покупает такие вещицы. Почему бы нам не сходить туда?» В результате мы продали несколько собранных терминалов, получивших название Apple I.

Я всегда мечтал о собственном компьютере. Еще учась в старших классах школы, я сказал отцу: «Когда‑нибудь у меня будет компьютер». Отец мне ответил, что он стоит как первоначальный взнос за дом. «Тогда я согласен жить в квартире», – заявил я. Я был твердо намерен реализовать свою мечту. У каждого человека есть определенные мотивы и ценности, определяющие то, чем он хочет заниматься в жизни. Они появляются еще в раннем возрасте. Например, в младших классах школы я решил стать школьным учителем и долгое время мечтал об этом. Но некоторые желания бывают настолько сильными, что вы готовы пожертвовать всем ради их исполнения.

До того момента я собирал все устройства бесплатно. А затем вдруг узнал о появлении микропроцессоров. Какое‑то время я не следил за миром электроники и компьютеров, поскольку занимался калькуляторами в компании Hewlett‑Packard. И внезапно открыл для себя микропроцессоры. Что это такое? Я принялся изучать их технические данные.

В то же время был основан клуб любителей собирать разные технические устройства у себя дома. По моему мнению, каждый из его членов мог бы стать предпринимателем. Однако, как выяснилось, лишь некоторые из ребят оказались настоящими инженерами‑проектировщиками, способными создавать новые устройства. То есть многим его членам нравилась электроника, но они не были истинными разработчиками.

Ливингстон. Этот клуб назывался Homebrew?

Возняк. Полное название клуба было Homebrew Computer Club. В нем состояло много программистов, не имеющих понятия об аппаратных средствах, но тем не менее занимающихся сборкой компьютеров. Я был сбит с толку. Они обошли меня, собирая небольшие дешевые компьютеры на основе микропроцессоров, а я об этом никогда не слышал и не принимал в этом участия. А ведь именно этим я хотел заниматься в жизни. За одну ночь я проанализировал, что представляет собой микропроцессор, и обнаружил, что он очень похож на мини‑компьютеры, которые я собирал еще в старших классах школы.

А затем я исследовал Altair – первый микрокомпьютер, который, по сути, нельзя было считать полноценным. Для меня компьютер – это нечто цельное, т. е. одно устройство. Еще в старшей школе я сказал отцу, что хочу ПК модели 4K Data General Nova. Что значит 4K? Это указывает на то, что в Data General Nova установлено 4 Кбайт оперативной памяти, то есть минимально необходимый ее объем для выполнения программ на языке программирования. Иными словами, компьютер гарантировал пользователю возможность писать приложения на Fortran или Basic, или любом другом языке и выполнять их. Компьютеры Altair, которые продавались по смехотворно низкой цене, по сути, представляли собой разрекламированный микропроцессор компании Intel и несколько чипов для преобразования напряжения. То есть в Altair объединили пару отдельных комплектующих, назвали их компьютером и заявили: «Теперь вы можете сами добавить все элементы, для совместной работы с которыми спроектирован микропроцессор». Вы можете добавить оперативную память, карты расширения для взаимодействия с телетайпом, длинный кабель для подключения к нему или просто купить телетайп за несколько тысяч долларов. К тому моменту, когда вы приобретете достаточный объем ОЗУ и все остальное, чтобы собрать компьютер, способный выполнять программы, ваши затраты окажутся совершенно неподъемными. Суммарная стоимость такого ПК составляла около 5 тыс. долл. А мы были простыми технарями, мечтающими обзавестись собственным компьютером, которым едва хватало денег на насущные нужды.

Кроме того, за пять лет до этого, в 1970 году я сам собрал компьютер аналогичного с Altair типа. Однако у меня не было микропроцессора. Вместо него я использовал набор микросхем. То есть я создал собственный небольшой процессор, который разместил на компактной плате размером 3×5 дюймов. На ней я установил переключатели, лампочки, и она выглядела как приборная панель в самолете. Я мог использовать эти переключатели, нажимать кнопки, передавать в память комбинации нулей и единиц и выполнять программы. Мой компьютер был практически аналогом компьютера Altair. Он имел такой же объем оперативной памяти (начальный объем составлял 256 байт). Кроме того, я мог проверить его работоспособность. И его я собрал на пять лет раньше появления Altair. Теперь же я увидел ПК на основе микропроцессора и понял, что его недостаточно. Нужно единое устройство, способное выполнять программы на языке программирования. Хотя модель Altair была очень близка к реализации этой задачи.

Я решил собрать собственный компьютер. Я всегда был убежден, что стоимость подобных устройств должна быть разумной. Однако мне требовалось как минимум 4 Кбайт ОЗУ. В 1975 году появилась динамическая оперативная память (DRAM) в виде модулей по 4 Кбайта. Впервые они стали стоить дешевле, чем память на магнитных сердечниках, которая до этого использовалась во всех компьютерах. Мир внезапно перешел на кремниевую оперативную память.

Все компьютеры того времени, а это Altair, Sphere, Polymorphic и Insight, проектировались недостаточно квалифицированными инженерами, вернее, не самыми лучшими представителями этой профессии. В процессе участвовали технические специалисты, которые могли посмотреть спецификацию конкретной оперативной памяти и сравнить ее с техническими данными микропроцессора. В последнем были каналы, именуемые «адрес», и в ОЗУ имелись такие каналы. Они просто соединяли их. Это было несложно, когда дело касалось статической оперативной памяти.

Динамическая оперативная память была дешевле статической в 2–4 раза. Она позволила вместо 32 микросхем статической памяти, необходимых для обработки компьютером команд, ограничиться только 8 микросхемами. Но для ее работы требовались схемы, обеспечивающие процессору доступ к каждой ячейке памяти каждую 1/2000 долю секунды, чтобы он мог считывать данные этой ячейки и либо записывать новые, либо стирать старые (т. е. нужно было постоянное обновление памяти). В динамической оперативной памяти (этот тип используется во всех современных ПК) каждый бит данных стирался за 1/2000 секунды, в случае если он не был прочитан и перезаписан. Это напоминает «стекание» электронов с анода каждую 1/2000 долю секунды.

Мне пришлось создать несколько дополнительных микросхем и немного поразмыслить, чтобы собрать компьютер. Но когда я это сделал, хвала Господу, у меня уже были элементы, читающие последовательность битов, кодирующих изображения для телевизионного экрана на моем терминале. Поэтому я сказал себе: «Я просто использую эти элементы для регулярного обновления данных в оперативной памяти (RAM)». В результате у микропроцессора был бы постоянный доступ к RAM, и адреса видеоданных хранились бы в ней, хотя и не для чтения видеоданных (тогда я еще использовал созданный ранее терминал, в котором была собственная память для хранения данных, отображаемых на экране). Однако эти элементы позволяли просто записывать данные в правильной последовательности, чтобы обновлять содержимое ячеек RAM. Мне пришлось немного потрудиться над компоновкой комплектующих, но в результате удалось собрать компьютер с использованием значительно меньшего количества микросхем. К тому же он был и меньших размеров, что впечатляло всех, кто его видел. Он обошелся дешевле и работал быстрее конкурирующих моделей. При правильном подходе к делу можно добиться сразу нескольких целей.

В конце 1960‑х выпускалось огромное количество разных мини‑компьютеров, но на всех устанавливались одинаковые микросхемы: 7400 микросхем с четырьмя вентилями на каждой (на ней находился сумматор, полусумматор или мультиплексор). Все поставщики рассуждали таким образом: «Давайте соберем компьютер. Как и во всех предыдущих моделях в нем будут использоваться машинные команды, которые позволяют добавить единицу в регистр, и будут применяться многочисленные регистры, данные из них можно будет передавать в память и по отношению к ним выполнять операции И, ИЛИ, а также исключающее ИЛИ». Производители составляли набор инструкций, обеспечивающий работу компьютера: «Если мы добавим в компьютер достаточно команд, то со временем они превратятся в операционную систему и языки программирования».

А затем появилась компания Data General со своим мини‑компьютером Nova, в котором вместо использования 50 команд для выполнения различных математических операций применялась всего одна из 16 битов: шесть единиц и шесть нулей. Пара этих единиц и нулей указывала, данные каких четырех регистров будут использоваться. Вторая пара битов относилась к применению других четырех регистров. Следующая пара указывала, требуется ли смещение или сдвиг результата (что эквивалентно умножению или делению на два в двоичной системе). Также существовали биты для определения необходимости переноса. То есть все 16 битов несли какую‑то смысловую нагрузку. Я все это внимательно изучил, самостоятельно воссоздавая на бумаге принципы работы компьютера Nova. При этом я выяснил, что два бита кодируют один из четырех регистров, поэтому отправил их на вход микросхемы 4‑входового мультиплексора. Мне не пришлось придумывать последовательность выполнения тех или иных операций. Я просто реализовал все с точки зрения логики. Три бита подавались на вход логической микросхемы, чтобы определить тип битовой операции (И, ИЛИ, исключающее ИЛИ), и еще один бит – в сумматор в качестве флага переноса. В результате этого усовершенствования в Nova осталось в два раза меньше микросхем, чем в других мини‑компьютерах, созданных компаниями Varian, Digital Equipment Corp. и Hewlett‑Packard (я сконструировал на бумаге их все). Я понял, что это только ему на пользу, поскольку лишь в этом случае возникает настоящая архитектура ПК.

Всю жизнь я старался оптимизировать устройства. Вы не просто экономите детали, но уменьшаете сложность и повышаете надежность устройства. Кроме того, более простой проект легче понять, что позволяет избежать ошибок и недостатков.

Ливингстон. Вы воссоздали схему работы всех компьютеров того времени еще когда учились в школе? У себя дома, просто ради развлечения?

Возняк. Да, поскольку физически я не мог собрать настоящий ПК. И не только поэтому. Я снова и снова менял проект каждого компьютера в связи с появлением новых микросхем, я «брал» их и вносил в схему коррективы, так как у меня возникали идеи, как сэкономить пару‑тройку микросхем.

Я всем этим занимался из‑за отсутствия денег на приобретение настоящих деталей. Я не мог собрать ни одного компьютера. В те времена микросхемы стоили столько… Короче говоря, цена компьютера примерно равнялась стоимости дома. Так что мне ничего не оставалось, как конструировать их на бумаге, пытаясь сделать все лучше и лучше. Я соревновался сам с собой. Я просто объясняю, откуда у меня навыки в создании устройств.

Я знал, что используемые при этом методы никогда не будут применены на практике. Их не станут изучать в школьной программе. Я многое придумывал сам. Я – настоящий самоучка. В нашей школе вообще не было компьютеров. Но я их проектировал. Как‑то мне попались журналы, в которых я нашел руководство по эксплуатации компьютеров, а отец дал мне несколько пособий по микросхемам. Оставалось лишь изучить их.

В чем заключался мой талант? Если я знаю свою конечную цель (а в то время ею был компьютер), то найду способ, как эффективно объединить микросхемы, чтобы ее добиться. И у меня получится, даже если раньше я никогда не проектировал ничего подобного. Я не знал, как создать гибкий диск, интерфейсы принтера и модема, но когда мне это понадобилось, я разработал собственные решения, не имея понятия, как это делали другие. Этот врожденный талант помог мне стать хорошим специалистом. Все мои лучшие достижения в Apple стали результатом того, что: во‑первых, у меня не было денег, а во‑вторых, я никогда не делал этого раньше. Каждое маленькое устройство, которое мы выпускали, было настоящим открытием.

Ливингстон. Можно ли считать, что ваш совет тем, кто хочет стать мастером своего дела, звучит так: делайте что‑то, чего раньше никогда не делали, и попытайтесь сделать это дешево.

Возняк. Да! Но должны быть соответствующие способности. У нас работал парень, который спроектировал Macintosh, так он никогда не посещал колледж, но изучил интегральные микросхемы и стал мастером‑самоучкой.

Ливингстон. Вы поступили в колледж, а затем его бросили, верно?

Возняк. Не совсем. Но в колледже я не изучал проектирование компьютеров. Например, я не посетил ни одного занятия по программированию, поэтому когда я собрал компьютер, мне пришлось написать собственную версию языка программирования – Basic. У меня просто не было другого выхода, ведь иначе компьютер бы не работал. Кроме того, я знал, как использовать низкоуровневое программирование для создания приложений широкого применения. Мой друг учился в Массачусетском технологическом институте и отксерил мне несколько страничек из книг по созданию компиляторов. Так что у меня было некоторое представление о том, какие методы применяются при синтаксическом анализе языка программирования.

Поэтому, собирая Apple I, я просто воспользовался уже имеющимся у меня терминалом, состоящим из телевизора и клавиатуры. Это был простейший способ, и модель Apple I нельзя назвать эффективной (ею стал Apple II). А затем я подумал: «У всех выпускающихся компьютеров много переключателей и лампочек, и выглядят они, как приборная панель в самолете. И уж очень напоминают тот, который я собрал пять лет тому назад». Это был компьютер Cream Soda Computer («Компьютер крем‑сода»). Он работал слишком медленно, да и собран был кое‑как. Увы, он не делал того, что мне было нужно. Я хотел писать программы на Basic, создавать игры и написать такую программу, которая бы позволила установить мои компьютеры в Hewlett‑Packard. (На работе я и еще 40 инженеров компании пользовались большим суперкомпьютером, и приходилось резервировать время, чтобы к нему подступиться.)

Я хотел создать производительный компьютер, а это означало, что в нем должны присутствовать микропроцессор и динамическая оперативная память (для экономии денег и деталей). Терминал у меня уже был. Дело оставалось за языком программирования. Да, у меня был компьютер с 4 Кбайтами ОЗУ. Он мог выполнять программы, но у меня не было языка программирования для микропроцессора. Поэтому, с одной стороны, я был немного разочарован, а с другой, пребывал в радостном возбуждении, поскольку собирался стать его творцом. Я надеялся, что это принесет мне определенную известность. Однако прославиться я мог лишь при условии, что сделаю все на высочайшем уровне.

Вот так получилось, что я был вынужден написать язык программирования для микропроцессора, но не забывайте, что раньше я этого не делал, не слушал лекций и не ходил на занятия по данному предмету. Поэтому я просто открыл руководство для сотрудников Hewlett‑Packard и прочел в нем описание языка Basic. Там я вычитал все команды Basic и приступил к созданию синтаксической таблицы, определяющей правила этого языка: какие команды в нем существуют, какие их последовательности допускаются, как заносить имена в переменные, как работать с числами, какого размера и формата они могут быть. Затем возникла идея (не знаю, откуда она ко мне пришла), сводившаяся к следующему: когда пользователь введет оператор, я буду просто сканировать его символ за символом, слева направо, и проверять на соответствие синтаксической таблице. Последнюю я занес в память. Я решил так: «Буду просматривать память, и, если оператор пользователя совпадет с записью в синтаксической таблице, то при переводе строки я буду знать все введенные символы». В этом и заключалась идея. Я не был знаком с правилами программирования микропроцессоров. И по сегодняшний день не знаю, как пишутся компиляторы.

Кроме того, мне было известно о существовании цифр и переменных, а также арифметических действиях. Цифры представляли собой субъекты, а арифметические действия – предикаты. Даже в операторе PRINT слово «print» становилось предикатом. Таким образом, я получил списки предикатов и теперь у меня были стек субъектов и стек предикатов. Оставалось только определить правила их взаимодействия и последовательность записи, например, с помощью обратной нотации.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-02-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: