Чем хуже, тем лучше - Worse is better

Чем хуже, тем лучше также (называется Стиль Нью-Джерси[1]) - термин, придуманный Ричард П. Габриэль в одноименном эссе для описания динамики принятия программного обеспечения. Это относится к аргументу, что качество программного обеспечения не обязательно увеличивается с увеличением функциональности: существует точка, в которой меньшая функциональность («хуже») является предпочтительным вариантом («лучше») с точки зрения практичности и удобства использования. Программное обеспечение, ограниченное, но простое в использовании, может быть более привлекательным для пользователя и рынка, чем наоборот.

Что касается оксюморонический Название, Габриэль называет это карикатурой, заявляя, что стиль плохой по сравнению с "Правильным". Однако он также заявляет, что «у него лучшие характеристики выживания, чем у правильного» стиля разработки, и он превосходит «подход Массачусетского технологического института», которому он противопоставил его.[2]

Эссе вошло в книгу 1994 г. Справочник UNIX-HATERS, и был упомянут как создатель концепции концептуального разделения между разработчиками на восточном и западном побережьях Соединенных Штатов.[3]

Источник

Габриэль был Лисп программист, когда он сформулировал эту концепцию в 1989 году, представив ее в своем эссе «Лисп: хорошие новости, плохие новости, как добиться большого успеха». Раздел статьи, озаглавленный «Рост« хуже тем лучше »», получил широкое распространение начиная с 1991 г., после Джейми Завински нашел его в файлах Габриэля в Lucid Inc. и отправил по электронной почте друзьям и коллегам.[2]

Характеристики

В Чем хуже, тем лучше, Габриэль утверждал, что «Хуже того лучше» (также «стиль Нью-Джерси» или «восточное побережье»[3]) представляет собой модель разработки и реализации программного обеспечения, которая имеет характеристики (примерно в порядке убывания важности):

Простота
Дизайн должен быть простым как по реализации, так и по интерфейсу. Более важно, чтобы реализация была простой, чем интерфейс. Простота - это самое важное в дизайне.
Правильность
Дизайн должен быть правильным во всех наблюдаемых аспектах. Лучше быть простым, чем правильным.
Последовательность
Дизайн не должен быть слишком противоречивым. В некоторых случаях согласованностью можно пожертвовать ради простоты, но лучше отказаться от тех частей дизайна, которые имеют дело с менее распространенными обстоятельствами, чем вносить сложность или непоследовательность в реализацию.
Полнота
Дизайн должен охватывать как можно больше важных ситуаций. Должны быть охвачены все разумно ожидаемые случаи. Полнотой можно пожертвовать в пользу любого другого качества. Фактически, необходимо пожертвовать полнотой всякий раз, когда ставится под угрозу простота реализации. Последовательность может быть принесена в жертву для достижения полноты, если простота сохранена; особенно бесполезна единообразие интерфейса.

Габриэль противопоставлял свою философию тому, что он называл «стилем дизайна MIT / Стэнфорд» илиМассачусетский технологический институт подход »(также известный как подход« западного побережья »[3] или «Правильная вещь»), которую он описал как:

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

Габриэль утверждал, что рано Unix и C, разработан Bell Labs, являются примерами подхода к проектированию «хуже - лучше». Он также называет их «абсолютными компьютерными вирусами».

Последствия

Габриэль утверждал, что "Чем хуже, тем лучше" получается больше успешный программного обеспечения, чем подход MIT: до тех пор, пока исходная программа в основном хороша, для ее первоначальной реализации потребуется гораздо меньше времени и усилий, и будет легче адаптироваться к новым ситуациям. Например, таким образом становится намного проще переносить программное обеспечение на новые машины. Таким образом, его использование будет быстро распространяться задолго до того, как программа, разработанная с использованием подхода MIT, получит шанс быть разработанной и развернутой (Преимущество первого хода ). Как только он распространился, возникнет необходимость улучшить его функциональность, но пользователи уже были приучены принимать «худшее», а не «правильное». "Таким образом, программное обеспечение" хуже-лучше-лучше "сначала получит признание, во-вторых, заставит пользователей ожидать меньшего, а в-третьих, будет улучшено до такой степени, что это почти правильно. Конкретно, даже если Лисп компиляторы в 1987 году были примерно так же хороши, как компиляторы C, гораздо больше экспертов по компиляторам, которые хотят сделать компиляторы C лучше, чем хотят сделать компиляторы Lisp лучше ».[4]

Габриэль кредиты Джейми Завински за извлечение разделов «хуже-лучше-лучше» из «Лиспа: хорошие новости, плохие новости, как добиться большого успеха» и отправку их по электронной почте своим друзьям по адресу Университет Карнеги Меллон, которые отправили их своим друзьям в Bell Labs, «которые отправили их своим друзьям повсюду».[5] Он, очевидно, связал эти идеи с идеями Ричард Столмен и увидел связанные идеи, которые важны в философия дизайна Unix, и в целом в движение за открытый исходный код, оба из которых сыграли центральную роль в развитии Linux.

В декабре 2000 года Габриэль ответил на свое более раннее эссе одним под названием Хуже лучше, хуже[6] под псевдоним "Никибен Бурбаки" (намек на Николя Бурбаки ), а также Хуже действительно лучше?, применяя концепцию к C ++ успехов в области объектно-ориентированного программирования несмотря на существование более элегантных языков, построенных вокруг этой концепции.[7]

В Справочник UNIX-HATERS включает Чем хуже, тем лучше в качестве приложения и формулирует концепцию с точки зрения «хуже - лучше» в форме того, что Unix «эволюционно превосходит» своих конкурентов.[8]

Смотрите также

Рекомендации

  1. ^ Лучше хуже, чем лучше
  2. ^ а б Чем хуже, тем лучше, Ричард П. Габриэль
  3. ^ а б c «Хуже тем хуже», Джим Уолдо, инженер Sun Microsystems
  4. ^ Лисп: хорошие новости, плохие новости, как выиграть по-крупному, Ричард П. Габриэль
  5. ^ Даниэль Вайнреб. «Идея« Чем хуже »и будущее Lisp»). Архивировано из оригинал 11 июня 2009 г.
  6. ^ Хуже лучше, тем хуже (PDF), Ричард П. Габриэль в роли «Никибена Бурбаки»
  7. ^ Хуже действительно лучше, Ричард П. Габриэль
  8. ^ Крейнин, Йосси (11 августа 2012 г.). «Что на самом деле означает« Лучше и хуже против правильного »». Правильная фиксация. Получено 2018-11-24.