Чем хуже, тем лучше - Worse is better
Эта статья слишком полагается на Рекомендации к основные источники.Октябрь 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Чем хуже, тем лучше также (называется Стиль Нью-Джерси[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]
Смотрите также
- Минимально жизнеспособный продукт
- Идеальное - враг хорошего
- Прогрессивное раскрытие
- Удовлетворительный
- Философия Unix
Рекомендации
- ^ Лучше хуже, чем лучше
- ^ а б Чем хуже, тем лучше, Ричард П. Габриэль
- ^ а б c «Хуже тем хуже», Джим Уолдо, инженер Sun Microsystems
- ^ Лисп: хорошие новости, плохие новости, как выиграть по-крупному, Ричард П. Габриэль
- ^ Даниэль Вайнреб. «Идея« Чем хуже »и будущее Lisp»). Архивировано из оригинал 11 июня 2009 г.
- ^ Хуже лучше, тем хуже (PDF), Ричард П. Габриэль в роли «Никибена Бурбаки»
- ^ Хуже действительно лучше, Ричард П. Габриэль
- ^ Крейнин, Йосси (11 августа 2012 г.). «Что на самом деле означает« Лучше и хуже против правильного »». Правильная фиксация. Получено 2018-11-24.