stringtranslate.com

Введите программу

Пример шестнадцатеричного программного кода типа MLX , напечатанного в журнале Compute!'s Gazette .

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

Программы ввода были распространены в эпоху домашних компьютеров с конца 1970-х по начало 1990-х годов, когда оперативная память 8-битных систем измерялась килобайтами и большинство владельцев компьютеров не имели доступа к сетям, таким как системы досок объявлений .

Такие журналы, как Softalk , Compute! , АНАЛОГОВЫЕ вычисления и здравствуйте! большую часть каждого выпуска посвятил программам ввода текста. Журналы могли содержать несколько игр или других программ за небольшую часть стоимости приобретения коммерческого программного обеспечения на съемных носителях , но пользователю приходилось тратить до нескольких часов на ввод каждой из них. Большинство списков было либо на диалекте BASIC, специфичном для системы, либо на системном диалекте BASIC . Машинный код . Программы машинного кода представляли собой длинные списки десятичных или шестнадцатеричных чисел, часто в форме DATAоператоров на языке BASIC. [1] В большинстве журналов было программное обеспечение для проверки ошибок, позволяющее убедиться, что программа напечатана правильно.

Программы ввода не были в значительной степени перенесены на 16-битные компьютеры , такие как Amiga и Atari ST , поскольку и программы, и данные (например, графика) стали намного больше. К каждому выпуску журнала стало обычным прилагать 3,5 - дюймовую дискету или компакт-диск с обложкой .

Описание

Читатель брал распечатанную копию листинга программы, например, из журнала или книги, садился за компьютер и вручную вводил строки кода. Компьютеры той эпохи автоматически загружались в среду программирования — даже команды для загрузки и запуска предварительно упакованной программы на самом деле были командами программирования, выполняемыми в прямом режиме . После ввода программы пользователь сможет запустить ее, а также сохранить на диск или кассету для использования в будущем. Пользователей часто предупреждали о необходимости сохранить программу перед ее запуском, поскольку ошибки могли привести к сбою , требующему перезагрузки, что сделало бы программу невозвратной, если бы она не была сохранена. Хотя некоторые программы ввода были короткими, простыми служебными или демонстрационными программами, многие из них представляли собой полнофункциональные игры или прикладное программное обеспечение, иногда конкурирующие с коммерческими пакетами.

Вводы данных обычно писались на языке BASIC или на комбинации загрузчика BASIC и машинного кода . В последнем случае коды операций и операнды части машинного кода часто просто задавались как операторы DATA внутри программы BASIC и загружались с помощью цикла POKE , поскольку мало кто из пользователей имел доступ к ассемблеру . [a] В некоторых случаях предоставлялась специальная программа для числового ввода машинного кода. Программы с компонентом машинного кода иногда включали списки языков ассемблера для пользователей, у которых были ассемблеры и которые интересовались внутренней работой программы.

Обратной стороной типовых модулей был труд. Работа, необходимая для ввода шрифта среднего размера, заняла порядка нескольких часов. Если полученная программа оказалась не по вкусу пользователю, вполне возможно, что пользователь потратил больше времени на ввод программы, чем на ее использование. Кроме того, ввод текста был подвержен ошибкам как для пользователей, так и для журналов. Это особенно верно в отношении частей машинного кода программ BASIC, которые представляют собой не что иное, как строку за строкой данных, например операторы DATA на языке BASIC. В некоторых случаях, когда версия ASCII, используемая на типе компьютера, на котором была опубликована программа, включала печатные символы для каждого значения от 0 до 255, код мог быть напечатан с использованием строк, содержащих глифы, которым сопоставлены значения, или мнемоника, такая как [SHIFT-R], указывающая пользователю, какие клавиши нажимать. Хотя программа на языке BASIC часто останавливалась с ошибкой при неправильном операторе, части машинного кода программы могли выйти из строя по неотслеживаемым причинам. Это затрудняло правильный ввод программ. [б]

Существовали и другие решения проблемы утомительного набора, казалось бы, бесконечных строк кода. Авторы-фрилансеры написали большинство программ для журнального типа и в сопроводительной статье часто предоставляли читателям почтовый адрес для отправки небольшой суммы ( обычно 3 доллара США ) для покупки программы на диске или ленте. К середине 1980-х годов, осознавая этот спрос со стороны читателей, многие журналы, издающиеся в США, предлагали все версии каждого выпуска на дополнительном диске, часто с одной или двумя бонусными программами. Некоторые из этих дисков сами по себе стали электронными изданиями, пережив свой материнский журнал, как это произошло с Loadstar . Некоторые британские журналы время от времени предлагали бесплатный гибкий диск , который проигрывался на проигрывателе , подключенном к кассетному входу микрокомпьютера. Другие методы ввода, такие как Cauzin Softstrip , были опробованы, но без особого успеха.

Не все вводы были длинными. Колонка журнала Run «Magic» посвящена однострочным программам для Commodore 64. [2] Эти программы часто представляли собой графические демонстрации или предназначались для иллюстрации технических особенностей архитектуры компьютера; текст, сопровождающий демонстрационные графические программы, не будет явно описывать полученное изображение, побуждая читателя вводить его. [3]

История

Программы ввода предшествовали эпохе домашних компьютеров. Как писал Дэвид Х. Аль в 1983 году:

В 1971 году, будучи менеджером линии продуктов для образования в Digital Equipment Corp. , я обратился с призывом к образовательным учреждениям по всей Северной Америке предлагать игры. Я был ошеломлен ответом. Я отобрал лучшие игры и собрал их в книгу « 101 базовая компьютерная игра» . Собрав книгу в свободное время, я убедил сопротивляющихся менеджеров DEC опубликовать ее. Они были убеждены, что он не будет продаваться. Она, а также ее продолжение, More Basic Computer Games, были проданы тиражом более полумиллиона копий, что доказывает, что люди заинтригованы компьютерными играми. [4]

После ухода Ала из DEC в июле 1974 года он основал выходящий раз в два месяца журнал Creative Computing , работая менеджером по образовательному маркетингу в AT&T. Первый выпуск был выпущен в октябре того же года, и к четвертому году над ним работала команда из восьми человек. В журнале были представлены компьютерные игры, и его дебют совпал с выпуском Altair 8800 — первого широкодоступного компьютерного комплекта, о котором, по словам Ала, было объявлено в январе 1975 года. [5]

Большинство первых компьютерных журналов публиковали программы ввода текста. Профессиональные и бизнес-ориентированные журналы, такие как Byte и Popular Computing, печатают их реже, часто в качестве тестовой программы для иллюстрации технической темы, затронутой в журнале, а не как приложение для общего использования. [6] Публикации, ориентированные на потребителя, такие как Compute! и Family Computing выпустили по несколько выпусков в каждом выпуске. Программы иногда были предназначены для конкретного домашнего компьютера, а иногда были совместимы с несколькими компьютерами. Журналы, посвященные конкретным платформам, такие как Compute!'s Gazette ( VIC-20 и Commodore 64 ) и Antic ( 8-битные компьютеры Atari ), поскольку им нужно было печатать только одну версию каждой программы, могли печатать больше и более длинные списки.

Хотя программы ввода обычно охранялись авторским правом, как и многие игры в BASIC Computer Games , авторы часто поощряли пользователей модифицировать их, добавляя возможности или иным образом изменяя их в соответствии со своими потребностями. Многие авторы использовали статью, сопровождающую типизации, чтобы предложить модификации для выполнения читателем и программистом. Иногда пользователи отправляли свои изменения обратно в журнал для последующей публикации. [7] Это можно было бы считать предшественником программного обеспечения с открытым исходным кодом , но сегодня в большинстве лицензий с открытым исходным кодом указано, что код должен быть доступен в машиночитаемом формате.

В 1985 году компания Antic заявила, что ее сотрудники «тратят значительную часть своего времени на тщательное прочесывание поступающих материалов в поисках практических прикладных программ. Мы получаем множество программ дисковых каталогов, хранилищ файлов рецептов, мини-текстовых процессоров и других переработанных версий старых идей». . [8] В то время как большинство типовых модулей представляли собой простые игры или утилиты, которые, вероятно, удерживали интерес пользователя лишь на короткое время, некоторые из них были очень амбициозными и конкурировали с коммерческим программным обеспечением. Пожалуй, самым известным примером является текстовый процессор SpeedScript , опубликованный Compute!'s Gazette и Compute! для нескольких 8-битных компьютеров, начиная с 1984 года. Compute! также опубликовал SpeedScript вместе с некоторыми вспомогательными программами в виде книги. Он сохранил последователей и в следующее десятилетие, поскольку пользователи совершенствовали и добавляли к нему возможности.

Вычислите! прекратили выпуск программ ввода текста в мае 1988 года, заявив: «Поскольку компьютеры и программное обеспечение стали более мощными, мы поняли, что невозможно предложить высококачественные программы ввода текста для всех машин. И мы также понимаем, что вы менее склонны введите эти программы». [9] По мере того, как стоимость кассет и дискет снижалась, а сложность коммерческих программ и технические возможности компьютеров, на которых они работали, неуклонно росли, важность ввода текста снижалась. В Европе журнальные диски с крышкой стали обычным явлением, а тип-ин практически перестал существовать.

Программное обеспечение для проверки

Чтобы предотвратить ошибки при вводе списков, в большинстве изданий представлены короткие программы для проверки правильности ввода кода. Они были специфичны для журнала или семейства журналов, и для исходных и двоичных данных BASIC обычно использовались разные программы проверки.

Вычислите! и Compute!'s Gazette в каждом выпуске печатали краткий список « Автоматического корректора» для проверки программ BASIC, а ANALOG Computing использовала D: CHECK (для диска) и C: CHECK (для кассеты). Для двоичных списков Compute! предложил MLX , который представлял собой интерактивную программу для ввода данных. В ANALOG Computing программы машинного кода представлялись какDATAоператоры BASIC, а затем добавлялись короткие программы для вычисления контрольных сумм. Запуск программы выводит список значений, которые необходимо сверить со значениями, напечатанными в журнале. После успешной проверки программа была сохранена в виде двоичного файла, и код BASIC больше не требовался. Монитор машинного кода MIKBUG для Motorola 6800 конца 1970-х годов включал контрольную сумму в шестнадцатеричные списки программ. [10]

Смотрите также

Примечания

  1. ^ Листинги BBC Micro и Acorn Electron , чье BASIC ROM включало ассемблер , обычно представлялись в виде ассемблерного кода, что давало несколько больше шансов обнаружить ошибки и упрощало модификацию программы знающим пользователям. Эй! Журнал также был известен тем, что печатал списки ассемблерных кодов, хотя он освещал платформу Commodore 64 , которая не включала ассемблер.
  2. ^ Примером иногда чрезмерно длинных наборов текста было расширение BASIC для Commodore 64, опубликованное в финском журнале MikroBitti ; Часть машинного кода программы занимала 20 страниц, заполненных числами, которые читатель мог без проблем ввести в компьютер.

Рекомендации

  1. Гаага, Джеймс (10 февраля 2010 г.). «Оптимизация шума вентилятора». Программирование в XXI веке . Архивировано из оригинала 14 сентября 2017 года . Проверено 20 августа 2017 г.
  2. ^ "Специальный выпуск журнала Run 1986" .
  3. ^ "Выпуск журнала RUN 35" .
  4. ^ Ал, Дэвид Х. «Редакционная статья. Архивировано 4 января 2006 г. в Wayback Machine » Creative Computing Video & Arcade Games , весна 1983 г.
  5. Крукс, Дэвид (июль 2021 г.). «Тип мертвецов». Каркас . № 52. С. 70–75.
  6. ^ «Высокоскоростной ввод-вывод текстового файла Pascal, байт, январь 1983 г.» .
  7. ^ "Выпуск журнала RUN от 39 марта 1987 г., страница 78" . Архивировано из оригинала 4 октября 2022 г. Проверено 17 сентября 2017 г.
  8. ^ Фергюсон, доктор Джон К. (май 1985 г.). «Пивная вечеринка Атари». Антик . п. 43 . Проверено 7 января 2015 г.
  9. ^ Кейзер, Грегг (май 1988 г.). «Редакционная лицензия». Вычислите! . п. 4 . Проверено 10 ноября 2013 г.
  10. ^ Стэнфилд, Дэвид Э. (июнь 1979 г.). «Мой компьютер управляет лабиринтами». Байт . п. 86 . Проверено 18 октября 2013 г.

Внешние ссылки