При этом интересно, что великий математик Джон фон Нейман, имя которого традиционно связывают с развитием такой архитектуры (фон-неймановская архитектура),
крайне редко пользовался этим термином. В своей знаменитой работе 1945 года, давая описание особенностей новой архитектуры, он говорит об инструкциях, стандартных командах (standard orders), операциях и коде (code) — но ни разу о программе. Год спустя в одной из статей словом программа он пользуется наряду со словом код, а еще через год — снова отказывается от него в пользу терминов план (plan) и установка (set-up). Окончательно утвердился новый термин только к 1951 году — именно тогда вступили в эксплуатацию первые компьютеры с хранимой в памяти программой.
Американский математик Джон фон Нейман
В нашей стране в течение столетия после В. И. Даля смысл понятия менялся мало. Например, в Энциклопедическом словаре издания 1955 года программа
понимается как «содержание и план какой-либо деятельности (программа концерта, учебная программа, программа политической партии)», о вычислительных машинах речи еще нет, однако к этому времени слово уже использовалось первыми отечественными разработчиками. В датированном декабрем 1951 года Отчете по работе над автоматической цифровой вычислительной машиной (ЭВМ М-1, построенная под руководством И. С. Брука) четко говорится, что «набор инструкций, необходимых для решения задачи, называется программой». книге С. А. Лебедева, Л. Н. Дашевского и Е. А. Шкабары «Малая электронная счетная машина», изданной Академией наук СССР в 1952 году, слово программа также неоднократно используется.Это значит, что в коллективах отечественных разработчиков вычислительных машин новый термин утвердился даже раньше, чем в США.
Поэтому уже в Малой советской энциклопедии (издана в 1959 году) определение слова дополняется еще одним пунктом: «подробный план действия вычислительных машин, состоящий из определенных последовательных команд (инструкций), по которым машина выполняет весь процесс вычислений». Таким образом, новый термин обрел полноправное гражданство в русском языке.
Легенды о происхождении тех или иных компьютерных терминов многочисленны. Но все рекорды популярности бьет одна из них — речь идет о слове bug,
под которым понимают любую ошибку в аппаратуре или программе (отсюда же debugging — отладка). В десятках журнальных и газетных статей, книг, словарей и энциклопедий можно прочитать нечто вроде:«Однажды в середине 1940-х годов, в работе предка современных компьютеров, релейной вычислительной машины Mark I,
которую строили в Гарвардском университете, произошел сбой. Его причиной стал мотылек, который забился в одно из реле. Дежурный инженер извлек мотылька пинцетом, и с тех пор гарвардские ученые, когда в компьютере возникали те или иные неисправности, говорили: «давай поищем жучка (bug)». Постепенно этот термин прижился и получил широкое распространение».Особый вклад в распространение этой истории внесла выдающийся программист, первая женщина, дослужившаяся до звания адмирала внесла выдающийся программист, первая женщина, дослужившаяся до звания адмирала флота США, Грейс М. Хоппер. Здесь надо заметить, что описанное выше событие действительно имело место и даже было задокументировано. Тот самый мотылек был не только аккуратно вытащен, но и высушен, и вклеен в рабочий журнал. Сегодня этот журнал находится в одном из компьютерных музеев. Известна и точная дата события — 9 сентября 1947 года.
А вот все остальное нуждается в уточнениях. Во-первых, речь идет о компьютере Mark II. А
во-вторых, совершенно непонятно, почему мотылек (по-английски moth) был вдруг назван жуком (ведь bug — это даже не просто насекомое, а насекомое кровососущее, в первую очередь клоп). Разумеется, инженер-электрик не обязан быть специалистом в энтомологии, но разницу между бабочкой и клопом он все-таки обычно знает.Чтобы разобраться, обратимся к той самой записи, которая была сделана в пресловутом в рабочем журнале. Она выглядела так:
«1545 Реле #79 Приборная панель F (мотылек). Первый случай, когда был найден настоящий bug».
Последняя фраза неопровержимо свидетельствует о том, что слово bug
к моменту обнаружения злосчастного мотылька уже было в ходу среди инженеров. Более того, обращение к различным источникам — техническим публикациям и словарям, показывает, что оно широко использовалось уже многие десятилетия.