Подтвердить что ты не робот

Кто-нибудь знает, откуда появилась цитата "слой абстракции" / "слой косвенности"?

Цитата выглядит примерно так:

В информатике нет проблем которые не могут быть решены путем добавления другого слой абстракции к нему

(Скопировано в эту формулировку из http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html)

Есть несколько вариантов, но я не смог найти создателя. Поскольку мне очень нравится цитата с языком в щеку и совсем немного правды, мне было бы интересно услышать, знает ли кто, откуда это может произойти.

4b9b3361

Ответ 1

Этот сайт приписывает его Дэвиду Уилеру, который работал над EDSAC среди своих других ранних достижений. Его биография Википедии также предполагает, что он, возможно, создал ее. Это, вероятно, лучший выбор.

Форма, которую они дают:

Любая проблема в информатике может быть решена с помощью другого слоя косвенности. Но это обычно создает еще одну проблему.

Я впервые услышал это, когда я был новичком CS в '85, в то время как наш инструктор вводил указатели в наш курс CS101. У меня сложилось впечатление, что это была даже утка.

Если кто-то хочет приписать это кому-то, лучше быть кем-то хотя бы умеренно известным еще в 85-м. Вероятно, это исключает Кенига.

Ответ 2

Мне нравится эта версия лучше:

Все проблемы в информатике могут быть решены другим уровнем косвенность... За исключением проблемы слишком большого количества слоев Косвенная.

Дэвид Уилер

Проницательный... Итак, помните: KISS!

Ответ 3

Более известная цитата:

В информатике нет проблем которые не могут быть решены путем добавления другого уровень косвенности к нему

Не знаю, откуда она взялась, но у меня есть смутная память, что Эндрю Кениг имел к этому какое-то отношение.

Изменить: И это, кажется, так - см. этот обзор его и его жены отличная книга Acclerated С++ в Dr Dobbs.

Ответ 4

Я видел, как это относилось к Эндрю Кенигу.

Ответ 5

Я нашел эти условия:

Фундаментальная теорема разработки программного обеспечения

Основная теорема разработки программного обеспечения (FTSE) - это термин, созданный Эндрю Кенигом для описания замечания Батлера Лампсона, приписываемого покойному Дэвиду Дж. Уилеру:

"Мы можем решить любую проблему, добавив дополнительный уровень косвенности ".

Теорема не описывает реальную теорему, которая может быть доказана; скорее, это общий принцип управления сложностью посредством абстракции.

Теорема часто расширяется по юмористической оговорке:

"... за исключением проблемы слишком большого количества направлений косвенности ",

ссылаясь на то, что слишком много абстракций могут создавать собственные проблемы сложности.


Двенадцать сетевых прав

(6) Легче перемещать проблему (например, перемещая проблему в другую часть общей сетевой архитектуры), чем ее решить.

  • (6а) (следствие). Всегда можно добавить еще один уровень косвенности.