这句话大概是这样的:
在计算机科学中,没有问题是不能通过增加另一层抽象来解决的。
(从http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html复制而来)
虽然有很多变体,但我找不到它的发起人。因为我相当喜欢这个带着嘲讽和真理的引用,所以如果有人知道它的来源,我会感兴趣听听。
这句话大概是这样的:
在计算机科学中,没有问题是不能通过增加另一层抽象来解决的。
(从http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html复制而来)
虽然有很多变体,但我找不到它的发起人。因为我相当喜欢这个带着嘲讽和真理的引用,所以如果有人知道它的来源,我会感兴趣听听。
这个网站 将其归因于 David Wheeler,他在早期的成就中曾参与 EDSAC 的工作。他的维基百科传记还暗示他可能是其创始人。这可能是你最好的选择。
他们提供的形式是:
任何计算机科学问题都可以通过引入另一层间接性来解决。但那通常会带来另一个问题。
我第一次听到这个词汇是在85年时我上大学的时候,我的 CS101 课程老师正在介绍指针。即使当时我也觉得它是一个谎言。
如果有人想要将其归属于某个人,那最好是在85年时至少有点名气的人。那 可能 排除了 Koenig。
不确定它的来源,但我模糊地记得Andrew Koenig与此有关。在计算机科学中,没有问题是不能通过添加另一个间接层来解决的。
我在以下网址找到了这些术语:
软件工程基本定理
软件工程基本定理(FTSE)是由Andrew Koenig创造的一个术语,用于描述被归因于已故David J. Wheeler的Butler Lampson的评论:
“通过引入额外的间接层,我们可以解决任何问题。”
该定理并不描述可以证明的实际定理,而是一种通过抽象来管理复杂性的一般原则。
“……除了过多的层级间接性问题外,”这指的是过多的抽象可能会带来本质上的复杂性问题。通常通过幽默的条款扩展该定理:
十二条网络定律
(6)将问题移动到网络架构的其他部分(例如,通过移动问题)比解决问题更容易。
- (6a)(推论)始终可以添加另一个间接层。
我看过它被归属于安德鲁·科尼格。