Чим гірше, тим краще

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Чим гірше, тим краще (англ. Worse is better) — підхід до розробки програмного забезпечення, оголошує простоту реалізації і простоту інтерфейсу більш важливими, ніж будь-які інші властивості системи. Цей спосіб описаний Річардом П. Гебріелем (Richard P. Gabriel) в роботі «LISP: Good News, Bad News, How to Win Big» в розділі «The Rise of 'Worse is Better'» і часто передруковується окремою статтею.

Суть[ред. | ред. код]

Гебріел описує підхід так:

  1. Простота — реалізація і інтерфейс повинні бути простими. Простота реалізації навіть дещо важливіше простоти інтерфейсу. Простота — важлива вимога при виборі дизайну.
  2. Правильність — дизайн повинен бути правильним у всіх видимих проявах. Простий дизайн трохи краще, ніж правильний.
  3. Логічність (послідовність): дизайн не повинен бути надто нелогічним. Іноді можна пожертвувати логічністю заради простоти, але краще відмовитися від тих частин дизайну, які корисні лише в рідкісних випадках, ніж ускладнити реалізацію або пожертвувати логічністю.
  4. Повнота — дизайн повинен охоплювати якомога більше важливих ситуацій. Повнотою можна жертвувати на користь інших якостей і обов'язково потрібно жертвувати, якщо вона заважає простоті. Логічністю можна жертвувати на користь повноти, якщо зберігається простота (особливо марна логічність інтерфейсу).

Гебріел вважає мову C і систему Unix прикладами такого підходу.

MIT[ред. | ред. код]

У статті йому протиставляється підхід, який називається «підхід MIT» (MIT — Massachusetts Institute of Technology). Гебріел так описує цей підхід до дизайну:

  1. Простота — реалізація і інтерфейс повинні бути простими. Простота інтерфейсу важливіше простоти реалізації.
  2. Правильність — дизайн повинен бути правильним у всіх відносинах. Неправильний дизайн категорично заборонений.
  3. Логічність — так само важлива, як і правильність. Заради логічності можна жертвувати простотою і повнотою.
  4. Повнота — дизайн повинен охоплювати якомога більше важливих ситуацій. Всі ймовірні ситуації повинні бути передбачені. Простота не повинна занадто заважати повноті.

Ефект[ред. | ред. код]

Гебріел стверджує, що підхід «чим гірше, тим краще» краще «підходу MIT». Проста в реалізації, система буде легко перенесена під різні операційні системи, тобто швидко пошириться ще до того, як система, зроблена за принципами MIT, буде написана. Більш проста в реалізації, система приверне більше користувачів, які розуміють, як вона працює і бажаючих її поліпшити. Поліпшення будуть продовжуватися, поки система не стане майже ідеальною. Як приклад, Гебріел призводить компілятори мов C і Лісп.

1987 року, пише Гебріел, компілятори з цих мов були майже однакові за якістю, але було набагато більше охочих поліпшити компілятор С, ніж компілятор Ліспа (мабуть, Гебріел вважає, що інтерпретатор Лісп більш складний для реалізації, ніж компілятор C).

Хоча Гебріел, можливо, першим сформулював цей принцип, схожі ідеї використовувалися набагато раніше в ідеології UNIX і програмному забезпеченні з відкритим кодом.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]