引用如下:
计算机科学没有问题 通过添加另一个无法解决 它的抽象层
(来自http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html的措辞)
有许多变化但我无法找到原创者。既然我非常喜欢这句话,而且很有道理,我很想知道是否有人知道这可能来自哪里。
答案 0 :(得分:19)
This website将其归功于David Wheeler,他在其他早期成就中参与过EDSAC。他的维基百科生物也暗示他可能起源于它。这可能是你最好的选择。
他们提供的表格是:
计算机科学中的任何问题都可以通过另一层间接解决。但这通常会产生另一个问题
当我在85年担任CS新生时我第一次听到它,而我们的导师正在我们的CS101课程中引入指针。我得到的印象是,即使在那时它也是一个鸭子。
如果有人想要将它归于某人,那么最好是在85年至少有一点中等名人。 可能排除了Koenig。
答案 1 :(得分:7)
答案 2 :(得分:3)
更为人所知的是:
计算机科学没有问题 通过添加另一个无法解决 间接等级到它
不知道它来自哪里,但我有一个模糊的记忆,安德鲁科尼格与它有关。
编辑:似乎是这样 - 看看他和他妻子在Dobbs博士的优秀书籍“Acclerated C ++”的this review。
答案 3 :(得分:0)
我看到它归功于Andrew Koenig。
答案 4 :(得分:0)
我在以下网址找到了这些条款:
软件工程的基本定理
软件工程的基本定理(FTSE)是一个由Andrew Koenig起源的术语,用于描述归因于已故Butler Lampson的David J. Wheeler的评论:
“我们可以通过引入额外的级别的间接来解决任何问题。”
该定理没有描述可以证明的实际定理;相反,它是通过抽象来管理复杂性的一般原则。
该定理通常由幽默条款扩展:
“......除了间接级别太多的问题
指的是太多的抽象可能会产生他们自己的内在复杂性问题。
RFC 1925(1996年):
这是"April Fools' Day RFC",这是相对部分:
十二个网络真相
(6)更容易移动问题(例如,通过移动 问题是整个网络的不同部分 建筑)而不是解决它。
- (6a)(推论)。始终可以添加另一个级别的间接。