Найти в Дзене
1001 строк кода

История книги «101 Basic Computer Games»

В 1973 году была опубликована книга «101 BASIC Computer Games», быстро ставшая настоящим бестселлером, разойдясь тиражом в миллион экземпляров. Она сыграла ключевую роль в популяризации программирования, а за её успехом стояла компания Digital Equipment Corporation (DEC), один из пионеров в производстве мини-компьютеров. К концу 1950-х годов громоздкие машины на электронных лампах, такие как ENIAC и MARK-1, уступили место новому поколению компьютеров на транзисторах. Эти устройства были значительно быстрее и могли обрабатывать больше данных, но все еще занимали много места и требовали обслуживания целой команды специалистов. Перечислю некоторые из них: ENIAC на Абердинском испытательном полигоне, штат Мэриленд. Глен Бек (на заднем плане) и Бетти Снайдер (на переднем плане) программируют ENIAC в здании 328 в Баллистической исследовательской лаборатории. Левая стойка вычислителя с электромеханическими вычислительными компонентами. IBM 1401 в ремонте в Музее компьютерной истории. Во
Оглавление

В 1973 году была опубликована книга «101 BASIC Computer Games», быстро ставшая настоящим бестселлером, разойдясь тиражом в миллион экземпляров. Она сыграла ключевую роль в популяризации программирования, а за её успехом стояла компания Digital Equipment Corporation (DEC), один из пионеров в производстве мини-компьютеров.

Немного истории развития вычислительной техники

К концу 1950-х годов громоздкие машины на электронных лампах, такие как ENIAC и MARK-1, уступили место новому поколению компьютеров на транзисторах. Эти устройства были значительно быстрее и могли обрабатывать больше данных, но все еще занимали много места и требовали обслуживания целой команды специалистов. Перечислю некоторые из них:

  • IBM 709 — одна из самых популярных машин того времени, использовавшаяся для научных и военных расчетов.
  • UNIVAC I (Universal Automatic Computer I) — первый коммерчески успешный компьютер, разработанный для использования в бизнесе и правительственных учреждениях.
  • PDP-1 (Programmed Data Processor-1) — первый компьютер из линейки PDP, разработанный компанией Digital Equipment Corporation (DEC), который стал основой для развития мини-компьютеров. (о компании DEC будет написано ниже)
  • EDSAC (Electronic Delay Storage Automatic Calculator) — один из первых практических компьютеров с хранимой программой, разработанный в Кембриджском университете.
  • CDC 1604 — компьютер компании Control Data Corporation, известный своей высокой производительностью и использованием в научных исследованиях.
  • ENIAC
https://commons.wikimedia.org/
https://commons.wikimedia.org/

ENIAC на Абердинском испытательном полигоне, штат Мэриленд. Глен Бек (на заднем плане) и Бетти Снайдер (на переднем плане) программируют ENIAC в здании 328 в Баллистической исследовательской лаборатории.

  • Harvard Mark I
    Электромеханическая счетная машина
https://commons.wikimedia.org/
https://commons.wikimedia.org/

Левая стойка вычислителя с электромеханическими вычислительными компонентами.

  • IBM 1401
    десятичный компьютер с переменной длиной слова
https://commons.wikimedia.org/
https://commons.wikimedia.org/

IBM 1401 в ремонте в Музее компьютерной истории. Волонтер музея использует осциллограф для устранения неполадок с сумматором компьютера.

  • UNIVAC I
    Первый американский компьютер общего применения (1951)
-4

UNIVAC I — первый коммерческий компьютер в США, созданный для гражданского правительственного учреждения в лаборатории Экерта-Мокли в Филадельфии, штат Пенсильвания.

  • IBM 7070
    Десятичный компьютер, представленный IBM в 1958 году
-5

Часть шасси IBM 7070, на котором видны платы стандартной модульной системы (SMS) с дискретными транзисторами.

  • UNIVAC 1232Серия 1230 представляла собой военную версию UNIVAC 490, выпускавшуюся подразделением Sperry Univac в Сент-Поле.
https://commons.wikimedia.org/
https://commons.wikimedia.org/

Панель управления для компьютера UNIVAC 1232. Этот конкретный компьютер использовался примерно с 1967 по 1990 год в Центре управления спутниками ВВС США в Саннивейле, Калифорния. Этот компьютер является военной версией универсального коммерческого компьютера UNIVAC 490. Находится в Смитсоновском национальном музее авиации и космонавтики в Центре Удвара-Хейзи.

Программирование в 1970-80х: эпоха перфокарт и терпения

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

Ввод программы в машину был отдельным «искусством». Программист или оператор садился за перфоратор, рядом клал тетрадь с кодом и начинал набивать код на перфокарты. Перфоратор – это устройство, похожее на пишущую машинку, где каждая клавиша соответствовала определённой букве, цифре или символу. Нажатие клавиши пробивало отверстие в нужной колонке карты. Каждая карта представляла собой одну или несколько строк кода. После завершения набора карты передавались на проверку – верификацию. Оператор вводил в верификационное устройство данные повторно, а машина сверяла их с пробитыми отверстиями. Перфокарту с ошибкой либо заменяли, либо исправляли путём пробивки новых отверстий в подходящих колонках. Когда все карты были готовы, их раскладывали в строгой последовательности. Порядок был критически важен, так как именно в этой последовательности карты считывались машиной. Затем карты передавали на считывающее устройство. Для кодировки даже относительно небольших программ требовались сотни, тысячи, а то и десятки тысяч перфокарт. Любая ошибка, будь то неправильно пробитое отверстие или нарушение последовательности, приводили к сбою программы. И тогда весь процесс приходилось начинать заново.

Перфоратор  IBM 29 Keypunch

-7

FORTRAN IV Pocket Handbook, Daniel E. Alexander and Andrew C. Messer, McGraw Hill, 1972.(https://www.math-cs.gordon.edu/courses/cs323/FORTRAN/keypunch.jpg)

Выключатель питания (1): Устройство включается этим выключателем.

Функциональные переключатели (2): Эти переключатели управляют различными режимами работы перфоратора.

Станция перфорации (3): Здесь пробиваются отверстия в картах на основе ввода с клавиатуры.

Лоток для пустых карт (4): Этот компонент удерживает стопку пустых карт, готовых к подаче в машину.

Прижимная пластина (5): Эта пластина оказывает давление на карты во время их обработки.

Индикатор столбца (6): Показывает текущий столбец на обрабатываемой карте.

Укладчик перфорированных карт (7): Готовые перфорированные карты укладываются здесь после обработки.

Рычаг управления программой (8): Этот рычаг используется для управления программой и форматом перфорируемых карт.

Считывающая станция (9): Эта область позволяет считывать уже перфорированные карты.

Клавиша Backspace (10): Позволяет пользователю переместиться на один столбец назад на карте.

Слоты для вставки карт для копирования (11): Предусмотрены слоты для карт, которые необходимо скопировать.

Клавиатура (12): Используется для ввода данных, которые затем переводятся в пробитые отверстия на картах.

Пользователь помещает пустые карты в лоток, печатает на клавиатуре, и машина пробивает отверстия в карте в соответствии с тем, что ввел пользователь. Готовые карты затем укладываются в укладчик карт.

Эта стопка из 62 500 перфокарт — объемом 5 МБ — содержала программу управления гигантской военной компьютерной сетью SAGE.

-8

Изображение взято с сайта Computer History Museum (CHM)

DEC и Дэвид Ал

Выпускники Массачусетского технологического института (MIT) Кен Олсон и Харлан Андерсон не были новичками в вычислительной технике. Работая в Лаборатории Линкольна (научно-исследовательское учреждение Министерства обороны США в структуре Массачусетского технологического института) они выполнили большую часть проектов при разработке машин AN/FSQ- 7, TX-0 и TX-2. TX-0 был первым полностью транзисторным 16-битным компьютером с 16-битной адресацией и 16-битными инструкциями.

AN/FSQ- 7

https://commons.wikimedia.org/
https://commons.wikimedia.org/

Название "AN/FSQ" происходит от Army-Navy / Fixed Special eQuipment.

AN/FSQ-7 был самой большой дискретной компьютерной системой из когда-либо созданных. Это была основная компьютерная система сети SAGE, разработанная и построенная IBM. Она была огромной, содержала около 49 000 электронных ламп, весила сотни тонн и потребляла мегаватты энергии. Программа на перфокартах из предыдущего фото запускалась на этой системе

В 1957 году Кеннет Олсен и Харлан Андерсон учредили компанию Digital Equipment Corporation (DEC) с целью удешевить и уменьшить габариты вычислительных машин. Начальный капитал компании составил $100 000, причём 70% из них принадлежало компании American Research and Development. Американская корпорация исследований и разработок (ARDC) была новаторской венчурной фирмой, а ее инвестиция в DEC считается первой в истории успеха венчурного капитала. Классический пример стартапа тех лет😊. Компания-учредитель настояла на том, чтобы в названии дочерней компании отсутствовало слово «computer», хотя изначально название планировалось как «Digital Computer Corporation». Это же условие было соблюдено и в названии продукции: вместо термина «computer» употреблялся термин «Programmable Data Processor», или сокращённо «PDP». Данное условие было связано с тем, что в те времена существовал стереотип, что компьютер — это нечто огромное и дорогое, требующее отдельного машинного зала и солидного обслуживающего персонала. Таким путём компания избежала негативных последствий этого стереотипа.

PDP-8

https://commons.wikimedia.org/
https://commons.wikimedia.org/

PDP-8 на выставке в Национальном музее вычислительной техники в Блетчли, Англия. Этот экземпляр относится к первому поколению PDP-8, построенному на дискретных транзисторах и позднее известному как Straight 8.

PDP-11

https://commons.wikimedia.org/
https://commons.wikimedia.org/

Компьютер PDP-11/40 в Венском Техническом Музее. Внизу расположен процессор PDP–11/40, над ним установлен двойной накопитель DECtape TU56. ()

В 1969 году корпорация DEC пригласила на работу Дэвида Ала в качестве консультанта по психологии обучения и маркетингу для разработки своей линейки учебных продуктов. У Ала было основательное образование в области точных наук и бизнеса: он получил учёные степени в области электротехники и делового администрирования. До прихода в DEC он успел получить опыт работы в сфере просвещения и был известен своим интересом к использованию компьютеров в учебном процессе. Он начал свою карьеру в Digital Equipment Corporation в качестве консультанта по психологии обучения и маркетингу для разработки линейки компьютеров, не требующих специального обучения для обслуживания вычислительных систем. Дэвид Ал редактировал информационный бюллетень DEC, в котором регулярно публиковались блоки кода и инструкции по программированию мини-компьютеров. Ал уговорил руководство издать сборник игр на языке BASIC.
- BASIC, язык, на котором написаны игры, тогда только набирал популярность.
- BASIC был спроектирован так, чтобы студенты могли без затруднений писать программы, используя терминалы с разделением времени. Он предназначался для более «простых» пользователей, не столько заинтересованных в скорости исполнения программ, сколько просто в возможности использовать компьютер для решения своих задач, не имея специальной подготовки.
- интерпретатор языка был в каждой моделей PDP, кроме самых ранних (PDP-1, PDP-4, PDP-5)

-12

(us.archive.org)

Сборник стоил 7,50 долларов плюс 50 центов за доставку. Сегодня эта цена эквивалентна примерно 50.25 долларам, учитывая среднегодовую инфляцию в 3.8%

Важную роль в создании книги сыграли энтузиасты программирования со всей страны. DEC объявила конкурс, приглашая программистов присылать свои игры на BASIC. Авторы лучших работ получали гонорар, а их игры включались в сборник. Этот краудсорсинговый подход сделал книгу поистине уникальной. Она стала не только сборником игр, но и отражением энтузиазма и творчества целого поколения программистов-любителей. DEC предъявляла достаточно строгие требования к оформлению присылаемых материалов, что было необходимо для унификации и упрощения процесса публикации. Вот некоторые из этих требований:
Бумага. Белая, нелинованная. Как можно меньше сгибов на распечатках. 
Печать. Свежая черная лента. Красная не не принималась. 
Перфолента. Предпочтительна была парафинированная фальцованная перфолента (бумага, пропитанная парафином для прочности и защиты с отверстиями для лентопротяжного механизма). Если использовалась лента с пропиткой (например, от телетайпа), её необходимо было аккуратно сложить (сгибы через каждые 8.5 дюймов (21.59 см)), оставив не менее 17 дюймов (43.18 см) пустого лидера и 8.5 дюймов (21.59 см) трейлера. Ленту с пропиткой требовалось заворачивать в пищевую пленку или вощеную бумагу, чтобы предотвратить загрязнение.

- Лидер —  начало ленты, которое остается пустым перед началом записи данных.

- Трейлер —  конец ленты, который остается пустым после завершения записи данных.

Кроме того, авторы должны были предоставить следующую информацию:
*  Имя
*  Полный адрес
*  Телефон
*  Школу (если есть)
*  Возраст
*  Используемую компьютерную систему
*  Источник программы (оригинальная идея или адаптация)

Отправляя программу, автор давал Digital Equipment Corp. право публиковать, перепечатывать, распространять или использовать её любым другим способом. При этом авторство, конечно же, всегда указывалось.

-13

Страница книги с инструкцией для авторов (us.archive.org)

Кроме этой книги, были изданы два дополнительных руководства:
Understanding Mathematics and Logic Using BASIC Computer Games для учеников 7-12 классов.
Getting Started in Classroom Computing для учеников 2-7 классов.

Книга выдержала три переиздания:
1-е издание: июль 1973 года.
2-е издание: апрель 1974 года.
3-е издание: март 1975 года.

В 1973 году Девида Ала уволили со своей должности в связи с сокращением штатов, но еще до увольнения он был принят в новое подразделение DEC. Эта группа трудилась над созданием компьютера, который был меньше, чем любой из когда-либо построенных, намереваясь вывести новый продукт на новые рынки, такие как школы. Им удалось построить компактную машину, сочетающую PDP-8 с терминалом VT50, а также, они смогли поместить PDP-11 в небольшой портативный корпус. Когда результат показали операционному комитету DEC, инженерам он понравился, но отдел продаж опасался, что это сократит продажи их существующих линий. В конечном итоге решение было принято Кеном Олсеном, одним из основателей Digital Equipment Corporation, который в конце концов заявил: «Я не вижу причин, по которым кому-то может понадобиться собственный компьютер».

На этом проект завершился.

В 1974 г. Ал покинул DEC, разочаровавшись в политике компании и основал Creative Computing, один из первых журналов, популяризаторов компьютеров. В течение следующего десятилетия Creative Computing охватывала весь спектр любительских, домашних и персональных компьютеров, и, хотя Ал продал журнал в начале 1980-х, он продолжал выполнять свои обязанности главного редактора.


В июне 2022 года Ал выпустил в общественное достояние все, что он когда-либо написал, от прозы до программного обеспечения

Продолжение: Дэвид Ал и Creative Computing

История IT. Дэвид Ал и Creative Computing⁠⁠
101 Basic Computer Games24 декабря 2024

Все статьи на канале

101 Basic Computer Games | Дзен