Кто-нибудь знает, откуда возникла цитата «слой абстракции» / «слой косвенности»? - PullRequest
20 голосов
/ 13 января 2010

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

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

(скопировано в этой редакции с http://blogs.oracle.com/fcmartin/2009/01/pardon_my_dust.html)

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

Ответы [ 5 ]

19 голосов
/ 13 января 2010

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

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

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

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

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

7 голосов
/ 14 июля 2012

Мне больше нравится эта версия:

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

Дэвид Уилер

Проницательный ... Помните: ПОЦЕЛУЙ !

3 голосов
/ 13 января 2010

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

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

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

Редактировать: И, похоже, это так - см. этот обзор его превосходной книги его и его жены Acclerated C ++ в Dr Dobbs.

0 голосов
/ 12 апреля 2018

Я нашел эти термины по адресу:

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

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

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

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

Теорема часто расширяется юмористическим выражением:

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

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


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

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

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

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

...