Чем хуже, тем лучше
Чем хуже, тем лучше (также называемый Нью-Джерси). стилем [1] ) — термин, придуманный Ричардом П. Габриэлем в эссе 1989 года. [2] описать динамику принятия программного обеспечения. Это относится к аргументу о том, что качество программного обеспечения не обязательно увеличивается с увеличением функциональности: существует момент, когда меньшая функциональность («хуже») является предпочтительным вариантом («лучше») с точки зрения практичности и удобства использования. Программное обеспечение, которое ограничено, но просто в использовании, может быть более привлекательным для пользователя и рынка, чем наоборот.
Что касается оксюморонного названия, Габриэль называет его карикатурой, заявляя, что стиль плох по сравнению с «The Right Thing». Однако он также заявляет, что «он имеет лучшие характеристики выживания, чем правильный» стиль разработки, и превосходит «подход MIT», с которым он ему противопоставлялся. [3]
Эссе было включено в книгу The UNIX-HATERS Handbook 1994 года и было названо источником идеи концептуального раскола между разработчиками на восточном и западном побережьях Соединенных Штатов. [4]
Источник
[ редактировать ]Габриэль был программистом на Лиспе, когда он сформулировал эту концепцию в 1989 году, представив ее в своем эссе «Лисп: хорошие новости, плохие новости, как выиграть по-крупному». Часть статьи, озаглавленная «Рост идеи «чем хуже, тем лучше » », получила широкое распространение начиная с 1991 года, после того как Джейми Завински нашел ее в файлах Габриэля в Lucid Inc. и разослал по электронной почте друзьям и коллегам. [3]
Характеристики
[ редактировать ]Характеристика | стиль Нью-Джерси | Подход MIT |
---|---|---|
В книге «Хуже лучше значит лучше » Габриэль определил «чем хуже, тем лучше» (также «стиль Нью-Джерси», «Беркли» или «Западное побережье»). [4] ) модель проектирования и реализации программного обеспечения, имеющая характеристики (приблизительно в порядке убывания важности): | Габриэль противопоставил свою философию тому, что он назвал « стилем дизайна MIT /Stanford» или «подходом MIT» (также известным как подход «восточного побережья»). [4] или « Правильное дело »), которое он описал как: | |
Простота | Дизайн должен быть простым как по реализации, так и по интерфейсу. Важнее, чтобы реализация была проще интерфейса. Простота – самый важный фактор в дизайне. | Дизайн должен быть простым как по реализации, так и по интерфейсу. Интерфейс важнее, чем реализация. |
Корректность | Дизайн должен быть правильным во всех наблюдаемых аспектах. Немного лучше быть простым, чем правильным. | Дизайн должен быть правильным во всех наблюдаемых аспектах. Некорректность просто не допускается. |
Последовательность | Дизайн не должен быть слишком противоречивым. В некоторых случаях согласованностью можно пожертвовать ради простоты, но лучше отказаться от тех частей проекта, которые связаны с менее распространенными обстоятельствами, чем привносить сложность или непоследовательность в реализацию. | Дизайн должен быть последовательным. Дизайн может быть немного менее простым и менее полным, чтобы избежать несоответствий. Последовательность так же важна, как и правильность. |
Полнота | Проект должен охватывать как можно больше важных ситуаций. Все разумно ожидаемые случаи должны быть охвачены. Полнотой можно пожертвовать в пользу любого другого качества. Фактически, полнотой приходится жертвовать всякий раз, когда простота реализации оказывается под угрозой. Последовательностью можно пожертвовать ради достижения полноты, если сохранить простоту; особенно бесполезна согласованность интерфейса. | Проект должен охватывать как можно больше важных ситуаций. Все разумно ожидаемые случаи должны быть охвачены. Простота не позволяет чрезмерно уменьшать полноту. |
Габриэль утверждал, что ранние версии Unix и C , разработанные Bell Labs , являются примерами подхода к проектированию «чем хуже, тем лучше». Он также называет их «совершенными компьютерными вирусами».
Эффекты
[ редактировать ]Габриэль утверждал, что подход «чем хуже, тем лучше» приводит к созданию более успешного программного обеспечения, чем подход MIT: пока исходная программа в целом хороша, на ее первоначальную реализацию уйдет гораздо меньше времени и усилий, и будет легче адаптироваться к новым ситуациям. Например, таким образом становится намного проще портировать программное обеспечение на новые машины. Таким образом, его использование будет быстро распространяться задолго до того, как программа, разработанная с использованием подхода MIT, получит шанс быть разработанной и развернутой ( преимущество первопроходца ). Как только он распространится, возникнет необходимость улучшить его функциональность, но пользователи уже привыкли принимать «худшее», а не «правильное»: [5]
Следовательно, программное обеспечение по принципу «чем хуже, тем лучше» сначала получит признание, во-вторых, заставит пользователей ожидать меньшего, а в-третьих, будет улучшено до такой степени, что это будет почти правильно. Конкретно говоря, хотя компиляторы Lisp в 1987 году были примерно так же хороши, как компиляторы C, гораздо больше экспертов по компиляторам хотят сделать компиляторы C лучше, чем хотят сделать компиляторы Lisp лучше.
Габриэль благодарит Джейми Завински за то, что он извлек отрывки из раздела «Лисп: хорошие новости, плохие новости, как выиграть по-крупному» и отправил их по электронной почте своим друзьям из Университета Карнеги-Меллон , которые отправили их своим друзьям в Bell Labs. , «которые повсюду посылали их своим друзьям». [6] Он, по-видимому, связал эти идеи с идеями Ричарда Столлмана и увидел родственные идеи, которые важны в философии дизайна Unix и, в более общем смысле, в движении открытого исходного кода , оба из которых были центральными в разработке Linux .
В декабре 2000 года Габриэль ответил на свое предыдущее эссе эссе под названием « Хуже, лучше, хуже». [7] под псевдонимом Никибен Бурбаки (намек на Николя Бурбаки ), а также пишет «Хуже действительно лучше?» , применив эту концепцию к успеху C++ в области объектно-ориентированного программирования, несмотря на существование более элегантных языков, разработанных на основе этой концепции. [8]
Руководство UNIX-HATERS включает в себя в качестве приложения « Чем хуже, тем лучше » и формулирует концепцию в терминах «чем хуже, тем лучше» в форме того, что Unix «эволюционно превосходит» своих конкурентов. [9]
См. также
[ редактировать ]- Закон Грешема
- Если оно не сломано, не чини его.
- Меньше значит больше
- Минимально жизнеспособный продукт
- Идеальное – враг хорошего
- Прогрессивное раскрытие информации
- Удовлетворение
- Правило наименьшей мощности
- Будь проще, глупый
- Ваби-саби
Дальнейшее чтение
[ редактировать ]- Гангарц, Майк (05 августа 2003 г.), Linux и философия Unix , Elsevier Science, стр. 122–125, ISBN. 9781555582739
- Грэм, Пол (18 мая 2004 г.), Хакеры и художники , O'Reilly Media, стр. 220, ISBN 9780596803100
- Майер, Кристиан (2 августа 2022 г.), Искусство чистого кода , No Starch Press, стр. 117–118, ISBN 9781718502192
Ссылки
[ редактировать ]- ^ «Хуже — лучше» и «Лучше — значит лучше» . 20 сентября 2014 г.
- ^ Габриэль, Ричард П. «Чем хуже, тем лучше» . Проверено 30 июня 2023 г.
- ^ Перейти обратно: а б «Чем хуже, тем лучше» . Dreamsongs.com .
- ^ Перейти обратно: а б с «Чем хуже, тем хуже» . www.artima.com .
- ^ «Чем хуже, тем лучше» . Dreamsongs.com .
- ^ Дэниел Вайнреб . «Идея «Чем хуже, тем лучше» и будущее Лиспа» . Архивировано из оригинала 11 июня 2009 года.
- ^ «Хуже, лучше, хуже (PDF), Ричард П. Габриэль в роли Никибена Бурбаки» ( PDF) .
- ^ «Хуже, на самом деле лучше, Ричард П. Габриэль» (PDF) .
- ^ Крейнин, Йоси (11 августа 2012 г.). «Что на самом деле представляет собой фраза «Хуже лучше против правильного»» . Правильная фиксация . Проверено 24 ноября 2018 г.