Подтвердить что ты не робот

Каково происхождение "запуска ракет"?

В контексте функционального программирования типичным примером побочного эффекта является "запуск ракет". Где это выражение исходит из истории?

4b9b3361

Ответ 1

Где "запускать ракеты" приходят исторически?

Удачи вам в этом, это скорее исследовательский вопрос, чем программный.

Вот две точки данных:

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

  • В начале 1990-х годов, возможно, даже в 1990 году Computer Professionals for Social Responsibility были созданы футболки с изображением атомный взрыв и письменная легенда

    Конечное сообщение об ошибке

    Я буду говорить, что фраза восходит по крайней мере так далеко.

Чтобы получить реальный ответ, вам нужен лексикограф, а не программист.

Ответ 2

У меня нет доказательств этого, но я всегда предполагал, что он исходит из аналогичного фрагмента кода C:

if (hasSecurityClearance = true)
{
  launchMissiles();
}

Ответ 3

"Запустить ракеты" в транзакционной памяти используется, чтобы подчеркнуть, что ввод-вывод является безотзывным. Как только ракеты запускаются (т.е. Передается сетевой пакет), он на своем пути и не может быть вызван обратно. Для транзакции это означает, что вы больше не можете прерывать. Вместо этого, поскольку вы уже опубликовали свои результаты (BOOM), вы должны найти способ закончить.

Транзакционная память была впервые предложена в 1993 году, после того, как Wargames был выпущен и прекратил быть крутым. Этот документ 2006 TM от Саймона Пейтона-Джонса (стр. 2) - первое место, где я нашел аналогию с "запуском ракет". Может ли это быть источником?

Ответ 4

Существуют программные приложения, которые действительно управляют запуском МБР, поэтому должны быть проекты, оценка рисков которых должна охватывать случайный запуск ядерного уничтожения. Однако, похоже, эта фраза не относится к реальному инциденту. Конечно, если такая вещь когда-либо случалась, вы можете поспорить, что черные вертолеты были умными, чтобы подавить все следы.

В любом случае, я думаю, что это просто гиперболический ответ на вопрос "Какое худшее, что может случиться?" Истоки, вероятно, происходят от чего-то вроде фильма "Wargames" , где AI почти начинает ядерную войну, потому что она думает об этом играет в игру.

Я полагаю, что другое дело, это не совсем побочный эффект. Предполагается, что программы запуска ракетного пуска будут запускать ракеты; это просто, они должны запускать их только после того, как были сделаны все необходимые проверки. Таким образом, об обеспечении того, чтобы мы не дошли до шага 10: Запустите ракеты, пока мы не пройдем через Шаг 1: Пробудите президента, Шаг 2: Проверьте координаты цели и т.д.

Ответ 5

Я слышал это в контексте отката транзакций базы данных в качестве примера действия, которое нельзя отменить: "трудно запустить ракеты".