Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как первые программисты написали программы для программирования без программ для программирования?

ИсторияПрограммирование
Симеон Дункан
  · 127,4 K
Специалист в области разработки систем управления. Трансгуманист. Интересуюсь...  · 3 янв 2021

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

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

Вот такой интерфейс для ввода программ был на машинах до 1960-х годов:

https://upload.wikimedia.org/wikipedia/commons/6/6a/IBM360-65-1.corestore.jpg

(кстати, это пульт системы IBM S/360 – первого компьютера, в котором придумали делить память на байты, благодаря чему видны группы по 8 тумблеров).

Потом, имея такую введённую по битам программу (начальный загрузчик), можно было с её помощью уже вводить, например, с перфоркарт другие программы на машинном языке, не манипулируя битами. В конечном итоге на машинном языке были написаны первые трансляторы с ассемблера, затем на ассемблере – первые трансляторы с языка высокого уровня. А имея транслятор с языка высокого уровня на одной машине, можно уже его дописать таким образом, чтобы он генерировал машинный код для другой машины, и на этой второй машине не повторять полностью всю цепочку.

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

Весь этот процессс развёртывания выполнения сложных программ при помощи многоэтапного усложения от самых простых называется bootstraping, или раскрутка.

7 экспертов согласны

Вадим, спасибо Вам за интереснейший ответ на уровне лекции. И за фото ЭВМ с Эрикой в правом нижнем углу.

Первый
Я программист с 1965 года. Окончил физический факультет ЛГУ в 1972 г. Работал инженером (п...  · 31 мар 2021
Писали на бланках с 4 или 5 колонками: код операции и три адреса. Карандашом - чтобы стереть, если неправильно. Регистров, насколько помню, не было - для обработки массива команда модифицировалась сложением с константой. Команды и адреса записывались в восьмеричном коде. Понятия байта ещё не было. Через каждые 8 строк оставляли промежуток, который потом кодировался... Читать далее
Работаю разработчиком с 2017 года, фронтендер. Также являюсь наставником в онлайн-школе...  · 18 февр 2021
Что бы понять ответ на этот вопрос, я бы поррекомендовал ознакомиться с трудами фон Неймана и Тьюринга. Особенно впечатляет знаменитая статья Тьюринга, где он описывает вычислительную машину. Есть хорошая книга Петцольд - Читаем Тьюринга. Не смотря на то, что принято считать, что первые программы писались на машинном коде и вводились при помощи тумблеров(как это хорошо... Читать далее
Юрист. Пишу статьи и книги по правовым и политическим вопросам, по психологии и для детей.  · 23 янв 2021

Вот так и "раскручивается" искусственный интеллект. Сначала биты, потом один другого, потом другой третьего... Через несколько десятилетий раскрутится так, что человека задвинет.

Вряд ли. ИИ пока не создан.

Электроника радиотехника электрика программирование музыка строительство вера христианство  · 14 янв 2021
Вадим Румянцев всё верно ответил, но хочу добавить, что тот же вопрос можно задать в отношении любых технологий и инструментария. Например, как с нуля создать точный измерительные прибор, например, хотя бы – микрометр? 1. Берём щепку. 2. Выстругиваем из неё палочку. 3. На палочке делаем насечки - готова первая линейка. 4. ... 5... 100500. Упаковываем микрометр в... Читать далее
Занимаюсь компьютерами с 1974 года. Первый компьютер М222 он же БЭСМ 4  · 4 февр 2021
Я начинал програмистскую карьеру с отечественных ЭВМ м-220 в середине 70-х . Программы писались в машинных кодах. То есть вообще без использования языков программирования, потом появились мнемокоды ( автокоды), для которых требовались простейшие компиляторы. Скажем такая команда как умножение в машинных кодах обозначалась 004 , а в мнемокоде буквой У. Для того чтобы... Читать далее
Программу писали на перфокартах путем выдавливания окошек. Перфокарты в ЭВМ вводили уже другие специалисты. Если... Читать дальше
Первый
инвалид, раньше летал, починяю компьютеры, товары для детского творчества  · 23 янв 2021

Для ЭВМ не пробовал, а вот для станка с чпу в конце 80-х доводилось "набивать" программу на перфоленте вручную специальным дыроколом.Необходимо было уметь читать программу с перфоленты "по дырочкам".

Я в училище с перфокарт программы читал, пока не поставили перфоратор, где вверху перфокарты печатался листинг.

Действующий программист. 1948 г.р. Закончил спецшколу интернат №18 при МГУ, первый набор...  · 29 янв 2021

Я работаю программистом с 1971. В начале своей карьеры писал программы для БЭСМ-4 в машинных кодах. Ввод через перфокарты. До этого будучи студентом мехмата МГУ работал на Урале 2 (ввод данных через перфорированную кинопленку) и Днепр 1 ввод через тумблеры. Сейчас работаю удаленно.

Как можно удаленно тумблерами щелкать-то и перфоленту заправлять?)))

Преподаватель экономики, увлекаюсь ИТ, историей технологий, космосом  · 10 февр 2021

Первый Бейсик для ПК Альтаир Билл Гейтс и Пол Аллен писали на мини-компьютере PDP-11. Гейтс писал интерпретатор Бейсик, а Аллен написал эмулятор ПК Альтаир для PDP-11 (грешным делом, не помню, какая там стояла ОС), на PDP-11 их могло быть несколько). При запуске такого эмулятора, программы для Altair воспринимали его как ПК Altair и могли работать.

#define FALSE TRUE //счастливой отладки  · 15 февр 2021
Очень просто: 1. отжал рычаг 2. выставил восемь тумблеров в положение 0 или 1 3. вжал рычаг 4. байт ушёл на ферритовую матрицу 5. ... 6. профит а можно было пропустить пункт 1 а вместо пункта 3 нажимать БКК (Большую Красную Кнопку) ! Читать далее