Каково происхождение «запуска ракет»? - PullRequest
25 голосов
/ 05 мая 2010

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

Ответы [ 5 ]

15 голосов
/ 05 мая 2010

Откуда происходит "запуск ракет" исторически?

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

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

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

  • В начале 1990-х, возможно, даже в 1990 году, Компьютерные специалисты по социальной ответственности сделали футболки с изображением атомного взрыва и письменной легендой

    Окончательное сообщение об ошибке

    Держу пари, фраза восходит, по крайней мере, так далеко.

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

11 голосов
/ 05 мая 2010

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

if (hasSecurityClearance = true)
{
  launchMissiles();
}
7 голосов
/ 05 мая 2010

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

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

4 голосов
/ 05 мая 2010

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

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

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

1 голос
/ 05 мая 2010

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

...