Категории
Самые читаемые
RUSBOOK.SU » Документальные книги » Биографии и Мемуары » Стив Джобс и я: подлинная история Apple - Стив Возняк

Стив Джобс и я: подлинная история Apple - Стив Возняк

Читать онлайн Стив Джобс и я: подлинная история Apple - Стив Возняк

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 46 47 48 49 50 51 52 53 54 ... 85
Перейти на страницу:

В конечном счете написание интерпретатора для «Бейсика» оказалось самым долгим и самым сложным моим проектом для Apple.

Тогда я лишь хмыкал при мысли о «Бейсике». По сравнению с «Фортраном» это был слабый, легковесный язык. Мне казалось, что никто не станет писать на нем изощренные программы, какими пользуются инженеры и ученые. Я видел, к чему все идет. В той книге, о которой я уже говорил, «Компьютерные игры на “Бейсике” для чайников», упоминалось, что можно просто вбить текст программы и получить готовую игру.

Я писал интерпретатор «Бейсика» для Apple I, основанного на процессоре MOS 6502. Я прикинул, что если напишу этот язык действительно быстро – если буду работать над ним днем и ночью и получу что-то работоспособное, – тогда я могу стать почти что знаменитостью. Люди станут говорить, что Стив Возняк написал первый «Бейсик» для 6502, как Билл Гейтс – для «Альтаира». Писать исходный код весьма увлекательно.

Я никогда по-настоящему не изучал разработку языков программирования. Когда я только начинал обучение в колледже, Аллен Баум копировал учебники в MIT, где он учился, и отправлял их мне. Так я кое-что узнал.

Я понял, что у языков программирования есть грамматическая структура, как у любого языка, и выяснил, как они устроены.

Я не знал, что интерпретаторы «Бейсика» для разных компьютеров, например для DEC и для HP, различались практически во всем. Я-то думал, что они все одинаковые и что разработка Билла Гейтса ничем не отличалась от других.

Так что я стянул на работе пару руководств по «Бейсику» для HP и изучил их. Я стал записывать на бумаге синтаксическую таблицу – грамматику компьютерного языка. Она определяет, какие команды может ввести программист.

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

Нужны были правила. Допустим, вы написали часть уравнения:

5 + 3 × 7. Если написать ее без скобок, математик поймет, что сначала нужно умножить, а потом сложить. Так что на самом деле речь идет о 5 + 21. Вот это правило – какое действие выполнять первым – и есть пример того, что определяется в синтаксической таблице.

Я ничего не знал о том, как другие писали свои языки программирования. Но мне казалось очевидным, что нужен «стек» для «существительных», где хранились бы числа, стек для «глаголов» (в том числе действий вроде сложения и умножения) и набор приоритетов для каждого глагола.

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

Многие важнейшие в моей жизни программы, в том числе те, что я использовал в Колорадо, оперировали лишь целыми числами. Так что я запрограммировал свой «Бейсик» на работу лишь с числами от –32 768 до +32 787.

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

И я решил: я же могу написать код сам, своими руками. Зачем мне компьютер?

Кстати, у меня все еще есть тот блокнот, в котором я писал свой «Бейсик». Кажется, его теперь можно выставлять в музее!

Так или иначе, в результате, когда мой «Бейсик 6502» был загружен в компьютер, я мог вводить маленькие программы с клавиатуры. Например, заставить компьютер спросить: «Как вас зовут?» И если вы печатали ответ, то ваше имя начинало летать по всему экрану. Сегодня это кажется таким простым, но тогда никто еще не имел опыта работы на маленьком компьютере, где можно было вводить программы с клавиатуры и тут же их исполнять.

Даже на машинах вроде «Альтаира» программировать было очень дорого: нужно было подключать специальную карту и длинный кабель для соединения с огромным уродливым телетайпом и его клавиатурой.

Несколько раз после собраний Клуба я показывал свой компьютер с «Бейсиком», и всякий раз у присутствующих глаза лезли на лоб.

Но возникла проблема. У Apple I не было постоянной памяти – ни жесткого диска, ни дискет, ни CD-дисковода, как у сегодняшних компьютеров. Так что каждый раз, когда мне нужно было запустить «Бейсик», приходилось включать компьютер и вбивать туда всю программу из блокнота. Эта программа занимала 4000 байт, и у меня уходило на ее ввод около 40 минут. И каждый раз после выключения она стиралась. То есть мне нужно было или вовсе не выключать компьютер – а тогда перевозить его было бы неудобно, – или придумать какое-то решение.

Что такое «Бейсик»

Компьютерный язык «Бейсик» с самого начала задумывался как простой в использовании инструмент для написания компьютерных программ. Его создали два профессора Дартмутского колледжа, Джон Кемени и Томас Курц, в 1963 году. Аббревиатура BASIC означает «Многоцелевой код символических инструкций для начинающих» (Beginner’s All-purpose Symbolic Instruction Code). «Бейсик» изучить гораздо проще, чем языки вроде «Паскаля» и «Cи». Он более компактный и медленный. Но на моих первых компьютерах Apple он работал просто прекрасно.

Вот поэтому я разработал кассетный интерфейс для Apple I. Если не считать замены статической памяти динамической, это было единственное изменение по сравнению с моей изначальной версией, созданной во время первых собраний «Клуба самодельных компьютеров» весной 1975 года. Я устроил так, чтобы сразу после включения компьютера «Бейсик» автоматически загружался в память с обычной кассеты и был готов к использованию.

Но тут я обнаружил нечто ужасное. Я допустил просчет. Я думал, что все версии «Бейсика» более или менее одинаковые и что все сто игр на «Бейсике» из моей книги будут запускаться тут же, как только вы их введете. Оказалось, что мой «Бейсик» и «Бейсик» HP, который я штудировал, очень сильно отличаются от «Бейсика» Билла Гейтса и Microsoft, который, в свою очередь, был основан на «Бейсике» фирмы DEC. Черт!

Так что запрограммировать эти игры для Apple I можно было, только внеся в них изменения.

(adsbygoogle = window.adsbygoogle || []).push({});
1 ... 46 47 48 49 50 51 52 53 54 ... 85
Перейти на страницу:
На этой странице вы можете бесплатно скачать Стив Джобс и я: подлинная история Apple - Стив Возняк торрент бесплатно.
Комментарии
Открыть боковую панель
Комментарии
Сергій
Сергій 25.01.2024 - 17:17
"Убийство миссис Спэнлоу" от Агаты Кристи – это великолепный детектив, который завораживает с первой страницы и держит в напряжении до последнего момента. Кристи, как всегда, мастерски строит