В самых первых компьютерах программы писались в машинных кодах и первично вводились в память при помощи тумблеров, отвечающих за состояние каждого бита. Или же задавались напайкой соответствующих битам перемычек в постоянном запоминающем устройстве. Самые опытные программисты знали начальный загрузчик побитово наизусть и могли его ввести с тумблеров по памяти.
Конечно, достаточно тоскливо было вводить с тумблеров начальный загрузчик каждый раз при обнулении памяти, но у первых компьютеров часто были ферритовые запоминающие усстройства, не теряющие содержимое памяти при отключении питания.
Вот такой интерфейс для ввода программ был на машинах до 1960-х годов:
(кстати, это пульт системы IBM S/360 – первого компьютера, в котором придумали делить память на байты, благодаря чему видны группы по 8 тумблеров).
Потом, имея такую введённую по битам программу (начальный загрузчик), можно было с её помощью уже вводить, например, с перфоркарт другие программы на машинном языке, не манипулируя битами. В конечном итоге на машинном языке были написаны первые трансляторы с ассемблера, затем на ассемблере – первые трансляторы с языка высокого уровня. А имея транслятор с языка высокого уровня на одной машине, можно уже его дописать таким образом, чтобы он генерировал машинный код для другой машины, и на этой второй машине не повторять полностью всю цепочку.
Сейчас, разумеется, все программы для новых компьютеров поначалу пишутся при помощи старых компьютеров.
Весь этот процессс развёртывания выполнения сложных программ при помощи многоэтапного усложения от самых простых называется bootstraping, или раскрутка.
Вадим, спасибо Вам за интереснейший ответ на уровне лекции. И за фото ЭВМ с Эрикой в правом нижнем углу.
Вот так и "раскручивается" искусственный интеллект. Сначала биты, потом один другого, потом другой третьего... Через несколько десятилетий раскрутится так, что человека задвинет.
Вряд ли. ИИ пока не создан.
Для ЭВМ не пробовал, а вот для станка с чпу в конце 80-х доводилось "набивать" программу на перфоленте вручную специальным дыроколом.Необходимо было уметь читать программу с перфоленты "по дырочкам".
Я в училище с перфокарт программы читал, пока не поставили перфоратор, где вверху перфокарты печатался листинг.
Я работаю программистом с 1971. В начале своей карьеры писал программы для БЭСМ-4 в машинных кодах. Ввод через перфокарты. До этого будучи студентом мехмата МГУ работал на Урале 2 (ввод данных через перфорированную кинопленку) и Днепр 1 ввод через тумблеры. Сейчас работаю удаленно.
Как можно удаленно тумблерами щелкать-то и перфоленту заправлять?)))
Первый Бейсик для ПК Альтаир Билл Гейтс и Пол Аллен писали на мини-компьютере PDP-11. Гейтс писал интерпретатор Бейсик, а Аллен написал эмулятор ПК Альтаир для PDP-11 (грешным делом, не помню, какая там стояла ОС), на PDP-11 их могло быть несколько). При запуске такого эмулятора, программы для Altair воспринимали его как ПК Altair и могли работать.