computery.ru

flashback

 на главную

 заложить
 подписка
 editorial

hardware

 железо
 ликбез
 support

software

 программы
 support

connect

 интернет
 телефония

history

 как это было
 market history
 письма
 случаи
 mustdie
 о журнале
 архив журнала

сервис

 комиссионка
 конференция
 драйверы
 гостевая книга
 отзывы
 почта

реклама

поиск



PageRank

 

Rambler's Top100
liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня

 

 


как это было

 

Универсальный код для новичков

Универсальный код для новичков

Разные люди приходят к программированию разными дорогами. У меня все начиналось не слишком весело: через изучение языков Ассемблер и PL / 1 для ЕС ЭВМ. Если с Ассемблером все было более или менее нормально - его не понимал не только я, но и вся моя группа, то, сидя на семинарах по PL / 1, я с тоской смотрел, как мои сокурсники браво превращают словесные алгоритмы (разные там перемножения матриц и т. п.) в строчки непонятного мне текста. Нет, то есть не совсем непонятного; что означает каждый отдельный оператор, я после некоторого интеллектуального напряжения усвоил, но как это все работает, не понимал, хоть плачь. И вдруг меня осенило: библиотека! Ну как я раньше не додумался поискать там чего-нибудь более понятного, чем наши учебники по PL / 1?

Порывшись основательно в каталоге, я выбрал почти наугад несколько книжек по принципу притягательности названия. Одно из пособий называлось как-то вроде "Программирование для новичков"; к сожалению не помню точно ни его названия, ни автора, это была переводная книжка. Но именно благодаря ей я наконец понял, как устроена программа, что такое цикл, условный оператор, как организовать ввод данных с клавиатуры, вывод на экран или (о вершина могущества!) в файл. Это был написанный нормальным человеческим языком самоучитель языка Бейсик.

Не вижу ничего смешного. Меня лично Бейсик спас от отчисления. Поняв, как все работает на Бейсике, я один за другим как семечки начал щелкать "взрослые" языки программирования. Даже PL / 1 перестал казаться мне таким ужасным. Впрочем, если бы я не стал программистом, то компьютерный мир этого даже не заметил бы. Но вот существовал бы этот самый компьютерный мир сегодня в таком виде, в каком мы его знаем, без Бейсика, - это большой вопрос. Во всяком случае, именно Бейсику обязан своей массовой популярностью первый в мире персональный компьютер Altair 8800, и именно Бейсик послужил причиной того, что люди из IBM пришли в несерьезную на тот момент фирму Microsoft. А это кое-что да значит. Так что нелишним будет вспомнить тех, кто создавал этот язык.

Математический помощник Эйнштейна

Джон Джордж Кемени (John George Kemeny) родился в 1926 году в Будапеште, столице Венгрии. В 1940 году его семья, спасаясь от нового немецкого порядка (они были евреями), перебралась в США. После окончания средней школы Кемени поступил в престижный Принстонский университет. Будучи еще совсем молодым, он участвовал в Лос-Аламосе в Манхэттенском проекте. Это было время головокружительного развития математики, особенно в областях математической логики и компьютеров. Кемени работал непосредственно с Джоном фон Нейманом (John von Neumann).

В 22 года Кемени стал математическим помощником в исследованиях самого Эйнштейна. Когда много позже Джону Кемени задали вопрос: "Зачем Эйнштейну понадобился помощник по математике?" - Кемени с улыбкой ответил: "Эйнштейн никогда не был особенно силен в математике". Словом, это был перспективный молодой доцент Принстонского университета с большим академическим будущим... Но неожиданно для всех Кемени отправился в никому не известный колледж, в котором, как он узнал, только что было открыто новое отделение математики.

В Дартмутском колледже 27-летний Джон Кемени решил заняться новыми разделами математики. К тому времени у него уже вышла первая книга - "Взгляды философа на науку", весьма тепло встреченная в научном мире. Те, кто был знаком с Кемени, отмечали его способность находить блестящие решения трудных проблем, не важно, в математике или даже в политике и социологии. Молодой ученый был уверен, что компьютеры не просто хитрые машины для помощи в сложных расчетах. Еще в 50-х годах XX века он понимал, что в ближайшем будущем компьютеры должны занять центральное место в мире. Он без устали и горячо отстаивал свою точку зрения и ни минуты не сомневался в том, что изучение ПК должно стать обязательной составляющей полноценного образования.

Чтобы сделать ПК доступными для новичков - неслыханная дерзость в то время, - он совместно со своим другом Томом Куртцом (Tom Kurtz) разработал первую в мире компьютерную систему разделенного времени. Предполагая, что компьютерные гуру поднимут его на смех, он привлек к участию в проекте нескольких новичков, которые были так же наивны, как и сам Кемени, и поэтому тоже могли поверить в осуществимость подобной идеи (это было в начале 60-х годов XX века, когда ЭВМ работали в пакетном режиме). Как ни странно, у наивных новичков все получилось.

Кроме того, Джону Кемени не давала покоя мысль о том, что мощь компьютера малодоступна "непосвященным", поскольку языки программирования того времени были все еще очень сложными для восприятия неподготовленного человека. И тогда он и Том Куртц разработали язык программирования, названный ими Beginner's All-purpose Symbolic Instruction Code ("Код универсальных символических инструкций для начинающих"), или, сокращенно, BASIC. В 1963 году этот язык впервые получил практическое применение и был адаптирован для машины General Electric 225. BASIC действительно получился очень простым и легким для освоения даже людьми, слабо разбирающимися в ЭВМ. Однако настоящий бум популярности этого языка начался с появлением компьютеров на базе микропроцессоров - персональных компьютеров.

Революция в Альбукерке

Одним жарким январским днем 1975 года Эд Робертс (Ed Roberts), глава небольшой компании MITS, находившейся в Альбукерке (штат Нью-Мексико), получил официальное письмо от фирмы Traf-O-Data. В письме сообщалось, что Traf-O-Data обладает интерпретатором Бейсика для всех компьютеров на базе чипа Intel 8080. Авторы послания уведомляли Робертса о том, что намереваются продавать кассеты и дискеты с копиями интерпретатора через MITS. Компания Traf-O-Data просила за каждую проданную копию 50 центов. Незадолго до этого MITS привлекла к себе внимание большого числа компьютерных энтузиастов своим первым в мире ПК Altair 8800 на базе Intel 8080. Интерпретатор Бейсика - это то, чего не хватало системе Altair для настоящего коммерческого успеха. Робертс тут же стал набирать телефонный номер, указанный в письме. К его разочарованию, он попал в какую-то школу в Сиэтле, где никто ничего не знал ни о Traf-O-Data, ни о Бейсике.

"Шутники какие-то", - подумал Эд Робертс и выкинул письмо. Однако спустя несколько дней Traf-O-Data снова дала о себе знать. В компании Traf-O-Data было всего два сотрудника (они же совладельцы): Билл Гейтс (Bill Gates) и Пол Ален (Paul Allen). Гейтсу было 19 лет, Аллену - почти 22. Гейтс изучал юриспруденцию в Гарвардском университете (там он, кстати, подружился со Стивом Баллмером (Steve Ballmer)). Пол Аллен был тут же, рядом - он работал в Бостоне программистом. Именно Аллен увидел номер Popular Electronics с рекламой Altair и, возбужденный, примчался к Гейтсу с криками, что революция началась и если они не предпримут срочно каких-нибудь действий, то не успеют к дележу пирога (официальная историография утверждает, что Аллен, размахивая перед носом Гейтса свежим номером PE, воскликнул: "This is it! It's about to begin!").

Для Гейтса и Аллена вариантов не было - нужно было срочно писать интерпретатор Бейсика для компьютера Altair. Оповестив Эда Робертса о том, что Altair 8800 у них уже есть, друзья задумались: а где, собственно, его взять, чтобы приступить к программированию? Компьютер был нужен срочно. Тогда друзья приняли решение - написать эмулятор Altair 8800 для доступной ЭВМ PDP-10, а уж затем на эмулированном Altair создать интерпретатор Бейсика. Эмулятор - программа сама по себе непростая, транслирующая команды одного процессора в команды другого. Чтобы написать эмулятор, нужно хорошо знать эмулируемую машину. Гейтс и Аллен не знали об Altair 8800 ровным счетом ничего. Они приобрели только что вышедшее руководство Дэвида Осборна (David Osborne), подробно описывающее набор команд Intel 8080, и работа закипела. Это была самая настоящая авантюра.

В течение двух недель Аллен написал эмулятор для PDP-10, и Гейтс начал ваять интерпретатор Бейсика. Поскольку память Altair 8800 имела объем 4 кбайт, максимальный размер интерпретатора не должен был превышать 3 кбайт (чтобы оставалось место для программ на Бейсике). Работа над интерпретатором длилась около месяца и велась почти круглосуточно - компаньоны очень боялись, как бы кто-нибудь не опередил их и не предложил MITS свою версию Бейсика. Одной из проблем оказался ввод данных. У Altair 8800 не было ни клавиатуры, ни каких-либо иных средств ввода, кроме тумблеров на передней панели. Не было и систем хранения результатов: введенная программа исчезала после обесточивания. Гейтс и Аллен решили воспользоваться устройством ввода с бумажной перфоленты.

Наконец, в феврале все было закончено. Пол Аллен, как более солидно выглядящий (Гейтс вообще был похож на тинейджера), полетел в Альбукерк в штаб-квартиру MITS, взяв с собой перфоленту с интерпретатором Бейсика. Уже поднявшись в воздух, он вспомнил, что они совершенно упустили из виду загрузчик - небольшую программу, которая входит в состав любой операционной системы. Единственная, но очень важная его функция - считывание какой-либо программы в память и ее запуск. Пришлось Аллену в самолете вручную писать загрузчик, без которого, понятное дело, было не обойтись.

В Альбукерке он высадился, находясь в довольно подавленном состоянии: интерпретатор языка был написан на эмуляторе, без каких-либо тестов на реальном Altair, а загрузчик вообще делался "на коленке", и как он должен был работать, одному богу известно. Эд Робертс, встретивший Пола Аллена, отвез его в опытно-конструкторскую лабораторию MITS, оказавшуюся небольшой мастерской, расположенной между прачечной самообслуживания и массажным кабинетом. Аллен слегка удивился: они с Гейтсом почему-то были уверены, что MITS - крупная фирма. Войдя в "лабораторию", Аллен впервые увидел Altair. Это была усовершенствованная модель с памятью в 6 кбайт. Тестирование отложили до следующего утра, и Аллен с Гейтсом провели очень беспокойную ночь.

На следующий день Пол Аллен подключил к Altair считывающее устройство и запустил программу начальной загрузки. После долгих минут ожидания компьютер напечатал на подключенном к нему телетайпе одно слово: "Ready". "Работает!" - удивленно сказал Эд Робертс. Но ему было далеко до удивления Пола Аллена: ни разу не видев машину, они с Гейтсом создали для нее работающую программу. Однако нужно было еще проверить, насколько безошибочно работает интерпретатор. Первой программой, с помощью которой тестировали его работу, была небольшая софтина из учебника по Бейсику, моделирующая приземление космического корабля. Тест прошел идеально. Позднее, правда, Гейтс убрал из интерпретатора кое-какие шероховатости, довел его до полной кондиции.

Бейсик Гейтса и Аллена имел огромное значение не только для Altair 8800, но и для развития всей микрокомпьютерной промышленности. Теперь на ПК можно было разрабатывать коммерческие программы - основу могущества микрокомпьютеров. Вскоре для переговоров с MITS Гейтс и Аллен организовали в Альбукерке товарищество. Не мудрствуя лукаво, они назвали его Microcomputer Software, или, сокращенно, Micro-Soft. Товарищество заключило с MITS контракт, по которому MITS получала лицензию на распространение интерпретатора Бейсика, с оговоркой, что ни MITS, ни конечный пользователь не будут полными собственниками интерпретатора, иначе говоря, не получат права на его самостоятельную продажу или копирование.

Первый коммерческий продукт Micro-Soft получил название 4K BASIC. А 3 февраля 1976 года Билл Гейтс написал открытое письмо в компьютерные клубы, обвинив компьютерную общественность (вернее, микрокомпьютерную) в том, что большинство людей не желают покупать 4K BASIC. Согласно его данным, лишь 10% владельцев Altair купили 4K BASIC. Он призвал компьютерщиков прекратить безобразие с присвоением собственности Micro-Soft. Впрочем, это уже совсем другая история. UP

 


Единая серия - 5
Единая серия - 4
Единая серия - 3
Единая серия - 2
Единая серия - 1
Повесть о настоящем американце. Жизнь и приключения Уолтера Джереми Сандерса III
На пути к пропасти
Ось цивилизации
Повелитель гномов
Недостающее звено эволюции
Главное - надежность
Универсальный код для новичков
История архитектуры процессора x86. Часть 3. Далекий пращур
История архитектуры процессора x86. Часть 2. Восемь бит
История архитектуры процессора x86. Часть 1. Самый первый микропроцессор
Язык искусственного интеллекта
Ленивый гений
Долой биты! Интервью с конструктором троичной ЭВМ
Кошмар программиста
Льюис Кэрролл и троичная машина
Откроем вторую дверь?
Белокурое дитя
Длинная рука Москвы
Джон фон Нейман - человек и пароход
Совершенно секретно. "Энигма" - бабушка шифровальных машин
"Так выпьем за..."
Слава информации!
ЭВМ на военной службе. Работоспособные компьютеры начала прошлого века
Компьютерный застой
Паро-вычислительная машина Бэббиджа
Поиск технологии в средних веках
От палеолита до нового времени

 

Дмитрий Румянцев

themechanics@mail.ru

 



При перепечатке материалов сайта ссылка на UPGRADE обязательна. 
Имена и фамилии авторов изменять не рекомендуется.

  programmer: 
  Илья Васильев
новые поступления: 
vano@veneto.ru
PR-менеджер: 
Екатерина Кожанова
  newswriters:
  Николай Барсуков
  Александр Савицкий
тех. поддержка по софту:
stnvidnoye@mail.ru;
problem@veneto.ru
менеджер тестовой лаборатории:
testlab@veneto.ru
(495) 246-7468
  content: egor_be 
 
тех. поддержка по железу:
problem@veneto.ru
отдел рекламы: (495) 745-6898, 510 58 31
Виноградов Павел, Илья Саньков
директор отдела распространения Ирина Агронова agronova@veneto.ru: (495) 681-7837, 684-5285

© © 2000-2006 Upgrade