着名的同名编程技巧

时间:2010-03-02 22:25:34

标签: terminology idioms

在某些运动中,某些技术或元素以发明或首次执行它们的运动员命名 - 例如,Biellmann spin

他们是否广泛使用这些名称来编程技巧和习语?这些是什么?为了清楚起见,我明确没有询问算法,这些算法通常以其创建者的名字命名。

例如,一个是Schwartzian transform,但我不记得了。

18 个答案:

答案 0 :(得分:23)

如果找到,请编辑添加更多...

答案 1 :(得分:9)

在标准ML和其他使用元组和记录文字的函数式编程语言中,我有时会看到这样写的文字:

( first
, second
, third
)

{ name = "Atwood"
, age = 37
, position = "founder"
, reports_to = NONE
}

这种高度惯用的布局,与逗号或分号出现在该行的 end 的布局相反,是我一直听到的称为 MacQueen样式,在Dave MacQueen(前贝尔实验室,现在芝加哥大学)之后。

答案 2 :(得分:9)

K& R(Kernighan和Ritchie)和Allman缩进样式。

答案 3 :(得分:7)

我认为timsort符合资格。它用于python和open jdk 7

答案 4 :(得分:7)

贝叶斯相关的任何事情:贝叶斯过滤,贝叶斯推理,贝叶斯分类。虽然根植于统计数据,但这些技术已经进入大量与编程相关的应用程序。

答案 5 :(得分:6)

Carmack's Reverse

  

深度失败

     

2000年左右,几个人发现Heidmann的方法可以通过反转深度来适用于所有相机位置。而不是计算对象表面前面的阴影表面,它后面的表面可以很容易地计算,具有相同的最终结果。这解决了眼睛处于阴影中的问题,因为眼睛和物体之间的阴影体积不计算,但是引入了阴影体积的后端必须加盖的条件,或者阴影将最终丢失在体积指向的位置落后于无限。

     
      
  1. 禁用对深度和颜色缓冲区的写入。
  2.   
  3. 使用正面剔除。
  4.   
  5. 将模板操作设置为在深度失败时递增(仅计算对象后面的阴影)。
  6.   
  7. 渲染阴影卷。
  8.   
  9. 使用背面剔除。
  10.   
  11. 将模板操作设置为在深度失败时递减。
  12.   
  13. 渲染阴影卷。
  14.         

    深度失效方法与模板缓冲区的精度具有相同的考虑因素,深度通过方法。此外,类似于深度通过,它有时被称为z-fail方法。

         

    William Bilodeau和Michael Songy于1998年10月发现了这项技术,于1999年在创意实验室开发人员会议的Creativity上展示了这项技术1。 Sim Dietrich在1999年的Creative Labs开发者论坛上展示了这种技术[2]。几个月后,William Bilodeau和Michael Songy在同年提交了该技术的美国专利申请,美国专利6384822,题为“使用阴影卷和模板缓冲区渲染阴影的方法”,于2002年发布.ID Software的John Carmack在Doom 3 [3]的发展过程中独立发现了2000年的算法。由于他向更大的公众宣传了这项技术,因此通常被称为Carmack的Reverse。

答案 6 :(得分:6)

ADL - Argument Dependent Lookup也被称为Koenig查找(在Andrew Koenig之后,虽然我不认为他赞赏它,因为它没有按照他最初的计划方式)

异常保证通常被称为亚伯拉罕保证(Dave Abrahams)见(http://en.wikipedia.org/wiki/Abrahams_guarantees

Liskov替代原则http://en.wikipedia.org/wiki/Liskov_substitution_principle - Barabara Liskov

答案 7 :(得分:6)

我感到震惊的是,没有人提到Backus–Naur Form (BNF),以John BackusPeter Naur命名。

答案 8 :(得分:5)

通过计算最弱的前提条件来构建程序的方法,如Edsger Dijkstra的书 A Programming of Programming 中所阐述的,通常被称为 Dijkstra的方法。它更像是一种编程方法,而不是一种技术,但它可能符合条件。

答案 9 :(得分:5)

有几个hard to fix or unusual software bugs被归类于着名科学家之后。 Heisenbug可能是最着名的例子。

答案 10 :(得分:3)

Boyer-Moore字符串搜索算法:它可以在长度为N的字符串中找到一个字符串,少于N次操作。

答案 11 :(得分:3)

看到没有人提到Hindley Milner Type Inference,感到非常震惊。

答案 12 :(得分:2)

在C ++中,Barton-Nackman trick

答案 13 :(得分:2)

BWT (Burroughs Wheeler Transform)在数据压缩中非常重要。

答案 14 :(得分:1)

答案 15 :(得分:0)

也许Hungarian notation可能有资格?它是由Charles Simonyi(匈牙利人)发明的。

答案 16 :(得分:0)

在C ++中,Schwartz counter(又名Nifty Counter)习惯用于防止共享资源的多次静态初始化。它以Jerry Schwartz的名字命名,Jerry Schwartz是AT& T的C ++ iostreams的原创者。

答案 17 :(得分:0)

怎么样:Ada以Ada Lovelace的名字命名第一个计算机程序员?