引用是这样的:
计算机科学没问题 无法通过添加另一个来解决 它的抽象层
(此措辞复制自http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html)
有很多变体,但我一直找不到创始人。因为我很喜欢这句话,它的半开玩笑和相当多的事实,我很想听听是否有人知道这可能来自哪里。
该网站将其归功于David Wheeler,他在 EDSAC 方面取得了其他早期成就。他的维基百科简介也表明他可能发明了它。这可能是您最好的选择。
他们给出的表格是:
计算机科学中的任何问题都可以通过另一层间接解决。但这通常会产生另一个问题
我第一次听到这个词是在 85 年,当时我还是一名 CS 新生,当时我们的老师在 CS101 课程中介绍指针。即使在那时我也觉得这是谣言。
如果有人想把它归因于某人,那最好是 85 年至少有一定知名度的人。这可能排除了科尼格。
更广为人知的引述是:
计算机科学没问题 无法通过添加另一个来解决 间接级别到它
不知道它来自哪里,但我有一个模糊的记忆,Andrew Koenig 与它有关。
编辑: 似乎确实如此 - 请参阅 这篇评论,他和他的妻子在 Dobbs 博士的著作《加速 C++》中。
我在以下位置找到了这些术语:
软件工程基本定理
软件工程基本定理 (FTSE) 是由 Andrew Koenig 发明的术语,用于描述 Butler Lampson 归因于已故 David J. Wheeler 的言论:
“我们可以通过引入额外的间接级别来解决任何问题。” 该定理并没有描述一个可以证明的实际定理;相反,它是通过抽象管理复杂性的一般原则。
定理经常被幽默的子句扩展:
“…除了太多间接级别的问题,”
指的是太多的抽象可能会产生其自身内在的复杂性问题。
十二个网络真理
(6) 转移问题会更容易(例如,通过转移 将问题转移到整个网络的不同部分 架构)而不是解决它。
- (6a)(推论)。总是可以添加另一个间接级别。
我看到它归因于安德鲁·科尼格(Andrew Koenig)。