2010-05-05 12 views
23

Im Rahmen der funktionalen Programmierung ist ein typisches Beispiel für einen Nebeneffekt "Raketen starten". Woher kommt dieser Ausdruck historisch?Was ist der Ursprung von "launch the missiles"?

+0

ich nicht, dass Idiom wusste (in diesem Zusammenhang), aber in meiner Verteidigung, es scheint auch Google nicht. Ich finde es ein gutes Beispiel für etwas, das "außerhalb des Systems" geschieht, wobei das System die Variablen und Funktionen sind, die die Beziehungen zwischen ihnen definieren. Ich würde keine negative Konnotation darin negativ lesen. –

+1

Diese Frage ist _already_ der Top-Hit auf Google für, "Programmierung starten die Raketen." –

+8

http://www.endofworld.net/ .... FEUER ZE MISSILES !!! – skaffman

Antwort

15

Woher kommt "Raketenstart" aus der Vergangenheit?

Viel Glück mit diesem — es ist eher eine Forschungsfrage als eine Programmierung.

Hier sind zwei Datenpunkte:

  • Ich habe gehört, Simon Peyton Jones vor der genauen Wortfolge als Beispiel in den Gesprächen von mindestens zehn Jahren nutzen.

  • In den frühen 1990er Jahren, vielleicht sogar im Jahr 1990 hatten Computer Professionals for Social Responsibility T-Shirts haben das Bild einer Atomexplosion zeigen und die schriftliche Legende

    Die ultimative Fehlermeldung

    I‘ Ich wette, der Satz geht mindestens so weit zurück.

Um eine wirkliche Antwort zu bekommen, Sie eine lexicographer benötigen, kein Programmierer.

4

Es gibt Software-Apps, die den Start von Interkontinentalraketen tatsächlich ermöglichen, daher muss es Projekte geben, deren Risikobewertung die versehentliche Auslösung der nuklearen Vernichtung abdecken muss. Es scheint jedoch nicht so zu sein, dass der Ausdruck sich auf einen wirklichen Vorfall bezieht. Natürlich, wenn so etwas jemals passieren würde, können Sie darauf wetten, dass die Black Helicopters schlau waren, alle Spuren davon zu unterdrücken.

Wie auch immer, ich denke, es ist nur eine hyperbolische Antwort auf die Frage "Was ist das Schlimmste, was passieren könnte?" Die Ursprünge kommen wahrscheinlich von etwas wie the film 'Wargames', wo eine KI fast einen Atomkrieg beginnt, weil sie denkt, dass sie ein Spiel spielt.

Ich nehme an, die andere Sache ist, es ist nicht wirklich ein Nebeneffekt. Raketenstartsteuerprogramme sind angenommen, um die Raketen zu starten; es ist nur, sie sollten sie nur starten, nachdem alle notwendigen Überprüfungen durchgeführt worden sind. Es geht also um sicherzustellen, dass wir nicht 10 bis Schritt erhalte: Starten Sie die Raketen bis wir durchgemacht haben Schritt 1: Wecken Sie den Präsidenten, Schritt 2: Überprüfen Sie die Zielkoordinaten, etc

+4

Ich vermute, dass @FredOverflow bereits weiß, was es * bedeutet. * –

1

Ich habe es im Zusammenhang mit Rollback-Datenbank-Transaktionen gehört, als Beispiel für eine Aktion, die nicht rückgängig gemacht werden kann: "Es ist schwer, eine Rakete zu starten."

6

Die Option "Raketen starten" im Transaktionsspeicher wird verwendet, um zu betonen, dass die E/A unwiderruflich ist. Sobald die Raketen gestartet sind (d. H. Das Netzwerkpaket wird gesendet), ist sie unterwegs und kann nicht zurückgerufen werden. Für eine Transaktion bedeutet das, dass Sie nicht mehr abbrechen können. Da Sie Ihre Ergebnisse bereits veröffentlicht haben (BOOM), müssen Sie stattdessen einen Weg zum Beenden finden.

Das transaktionale Gedächtnis wurde erstmals 1993 vorgeschlagen, nachdem Wargames veröffentlicht wurde und nicht mehr cool war.Diese 2006 TM paper from Simon Peyton-Jones (Seite 2) ist der erste Ort, wo ich die Analogie "Raketen starten" gefunden habe. Könnte das der Ursprung sein?

+1

WarGames hat nie aufgehört cool zu sein. : P – cHao

10

Ich habe keinen Beweis dafür, aber ich immer angenommen, es kommt aus einem ähnlichen Stück Buggy-C-Code:

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