有人知道“抽象层”/“间接层”的引用是从哪里来的吗?(涉及IT技术)

23

这句话大概是这样的:

在计算机科学中,没有问题是不能通过增加另一层抽象来解决的。

(从http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html复制而来)

虽然有很多变体,但我找不到它的发起人。因为我相当喜欢这个带着嘲讽和真理的引用,所以如果有人知道它的来源,我会感兴趣听听。

5个回答

22

这个网站 将其归因于 David Wheeler,他在早期的成就中曾参与 EDSAC 的工作。他的维基百科传记还暗示他可能是其创始人。这可能是你最好的选择。

他们提供的形式是:

任何计算机科学问题都可以通过引入另一层间接性来解决。但那通常会带来另一个问题。

我第一次听到这个词汇是在85年时我上大学的时候,我的 CS101 课程老师正在介绍指针。即使当时我也觉得它是一个谎言。

如果有人想要将其归属于某个人,那最好是在85年时至少有点名气的人。那 可能 排除了 Koenig。


你说得对。现在很容易,只需给你的教练发送电子邮件并询问他... :-) - Francesco

8
我更喜欢这个版本:

计算机科学中的所有问题都可以通过另一层间接性来解决... 除了间接性层数过多的问题。

David Wheeler

深思熟虑... 所以请记住:KISS原则

3
更为著名的引用是:

在计算机科学中,没有问题是不能通过添加另一个间接层来解决的。

不确定它的来源,但我模糊地记得Andrew Koenig与此有关。
编辑:似乎确实如此-请参见他和他妻子的优秀书籍《加速C++》在Dr Dobbs上的评论

这并不意味着他是创始人,只是喜欢说而已。很有可能他并不是创始人(原因在我的回答中会解释)。 - T.E.D.

1

我在以下网址找到了这些术语:

软件工程基本定理

软件工程基本定理(FTSE)是由Andrew Koenig创造的一个术语,用于描述被归因于已故David J. WheelerButler Lampson的评论:

“通过引入额外的间接层,我们可以解决任何问题。”

该定理并不描述可以证明的实际定理,而是一种通过抽象来管理复杂性的一般原则。

通常通过幽默的条款扩展该定理:

“……除了过多的层级间接性问题外,”这指的是过多的抽象可能会带来本质上的复杂性问题。

十二条网络定律

(6)将问题移动到网络架构的其他部分(例如,通过移动问题)比解决问题更容易。

  • (6a)(推论)始终可以添加另一个间接层

0

我看过它被归属于安德鲁·科尼格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接