Functional programming “的起源是什么?”;发射导弹;?

Functional programming “的起源是什么?”;发射导弹;?,functional-programming,theory,definition,side-effects,Functional Programming,Theory,Definition,Side Effects,在功能编程方面,副作用的一个典型例子是“发射导弹”。这一说法历史上从何而来?有一些软件应用程序确实能够管理洲际弹道导弹的发射,因此必须有一些项目的风险评估必须涵盖核毁灭的意外触发。然而,这个短语似乎并不是指真正的事件。当然,如果真的发生过这样的事情,你可以打赌黑色直升机一定是聪明地压制了所有的痕迹 不管怎么说,我认为这只是对“可能发生的最坏情况是什么?”这个问题的夸张回答。其起源可能来自这样的情况,即人工智能几乎开始了一场核战争,因为它认为自己在玩游戏 我想另一件事是,它不是一个真正的副作用。导

在功能编程方面,副作用的一个典型例子是“发射导弹”。这一说法历史上从何而来?

有一些软件应用程序确实能够管理洲际弹道导弹的发射,因此必须有一些项目的风险评估必须涵盖核毁灭的意外触发。然而,这个短语似乎并不是指真正的事件。当然,如果真的发生过这样的事情,你可以打赌黑色直升机一定是聪明地压制了所有的痕迹

不管怎么说,我认为这只是对“可能发生的最坏情况是什么?”这个问题的夸张回答。其起源可能来自这样的情况,即人工智能几乎开始了一场核战争,因为它认为自己在玩游戏

我想另一件事是,它不是一个真正的副作用。导弹发射控制程序应该发射导弹;只是,他们应该在做了所有必要的检查后才能发射。因此,这是关于确保我们在完成步骤10:发射导弹之前不进行步骤1:唤醒总统,步骤2:检查目标坐标等

历史上“发射导弹”从何而来

祝你好运,这更像是一个研究问题,而不是一个编程问题

以下是两个数据点:

  • 我听说西蒙·佩顿·琼斯(Simon Peyton Jones)至少在十年前的会谈中使用了这个确切的短语作为例子

  • 在20世纪90年代初,甚至可能在1990年,有人制作了T恤衫,上面展示了原子弹爆炸的照片和书面传说

    最终的错误消息

    我敢打赌这句话至少可以追溯到很久以前


要得到一个真正的答案,你需要一个词典编纂者,而不是程序员。我在回滚数据库事务的上下文中听到过这句话,作为一个无法撤消的操作的例子:“很难取消发射导弹。”

在事务内存中,“发射导弹”用来强调I/O是不可撤销的。一旦导弹发射(即发送网络数据包),它就在途中,无法收回。对于事务,这意味着您不能再中止。相反,由于您已经发布了结果(BOOM),您必须找到完成的方法


事务性内存最早是在1993年提出的,那是在战争游戏发布并不再酷之后很久。这(第2页)是我第一次发现“发射导弹”的类比。这可能是起源吗?

我没有证据证明这一点,但我一直认为它来自一段类似的错误C代码:

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

我不知道这个成语(在这种情况下),但在我的辩护中,谷歌似乎也不知道。我发现这是一个发生在“系统之外”的事情的好例子,系统是定义它们之间关系的变量和函数。我不会从中读到任何负面的含义。这个问题已经是谷歌最热门的“编程发射导弹”。。。。发射导弹!!!我猜@Fredriff已经知道它的意思了。