Cuanto peor mejor

Peor es mejor  : un enfoque para el desarrollo de software que declara que la facilidad de implementación y la simplicidad de la interfaz son más importantes que cualquier otra propiedad del sistema. Este estilo es descrito por Richard P. Gabriel en Lisp : Good News, Bad News, How to Win Big en "The Rise of 'Worse is Better'" y, a menudo, se reimprime como un artículo separado.

Esencia

Gabriel describe el enfoque de la siguiente manera:

  1. Simplicidad: La implementación y la interfaz deben ser simples. La facilidad de implementación es aún más importante que la simplicidad de la interfaz. La sencillez es el requisito más importante a la hora de elegir un diseño.
  2. Corrección: el diseño debe ser correcto en todas las manifestaciones visibles. Un diseño simple es un poco mejor que uno adecuado.
  3. Coherencia (consistencia): El diseño no debe ser demasiado ilógico. A veces, la lógica se puede sacrificar por la simplicidad, pero es mejor descartar partes del diseño que rara vez son útiles que complicar la implementación o sacrificar la consistencia.
  4. Completitud: el diseño debe cubrir tantas situaciones importantes como sea posible. La integridad puede sacrificarse en favor de otras cualidades y debe sacrificarse si interfiere con la simplicidad. La consistencia se puede sacrificar en favor de la integridad si se mantiene la simplicidad (una interfaz lógica es especialmente inútil).

Gabriel considera que el lenguaje C y el sistema Unix son ejemplos de este enfoque.

MIT

El artículo lo contrasta con un enfoque denominado "enfoque MIT" ( MIT  - Instituto Tecnológico de Massachusetts). Gabriel describe este enfoque del diseño de la siguiente manera:

  1. Simplicidad: La implementación y la interfaz deben ser simples. La simplicidad de la interfaz es más importante que la simplicidad de la implementación.
  2. Corrección: El diseño debe ser correcto en todos los sentidos. El diseño incorrecto está estrictamente prohibido.
  3. La consistencia es tan importante como la corrección. En aras de la lógica, puede sacrificar la simplicidad y la integridad.
  4. Completitud: el diseño debe cubrir tantas situaciones importantes como sea posible. Deben preverse todas las situaciones posibles. La simplicidad no debe interferir demasiado con la integridad.

Efecto

Gabriel argumenta que el enfoque "peor es mejor" es preferible al "enfoque MIT". Un sistema fácil de implementar será fácilmente portado a diferentes sistemas operativos, es decir, se extenderá rápidamente incluso antes de que se escriba un sistema hecho de acuerdo con los principios del MIT. Un sistema más fácil de implementar atraerá a más usuarios que entienden cómo funciona y quieren mejorarlo. Las mejoras continuarán hasta que el sistema sea casi perfecto. Como ejemplo, Gabriel cita compiladores para C y Lisp . En 1987, escribe Gabriel, los compiladores de estos lenguajes tenían casi la misma calidad, pero había muchas más personas que querían mejorar el compilador C que el compilador Lisp.

Aunque Gabriel pudo haber sido el primero en formular este principio, ideas similares se utilizaron mucho antes en la ideología de UNIX y el software de código abierto .

Véase también

Enlaces