En esta conferencia pronunciada en Strange Loop 2011, Rich Hickey —creador de Clojure y diseñador de Datomic— propone replantear el diseño de software distinguiendo con precisión dos palabras que se usan como sinónimos: «simple» y «fácil». Para Hickey, la diferencia no es semántica menor, sino la base para construir sistemas fiables.
El término «simple» proviene del latín «sim» y «plex», que significa «un solo pliegue o trenza». Algo simple es, por tanto, lo que no está trenzado ni entrelazado con otra cosa: cumple un único papel, se ocupa de un solo concepto y mantiene sus responsabilidades separadas. Esta cualidad, señala el autor, es objetiva: se puede observar si un componente está combinado con otros o no. La simplicidad no equivale a tener «uno solo» de algo ni a una interfaz con una única operación; lo decisivo es la ausencia de entrelazado.
«Fácil», en cambio, deriva de una raíz latina emparentada con «adyacente», cuyo significado es «estar cerca». Hickey identifica tres formas de cercanía: la física (instalar o descargar algo al instante), la familiar (que encaje con lo que ya sabemos) y la relativa a nuestras capacidades (que esté a nuestro alcance conceptual). El problema, advierte, es que el sector del software está obsesionado con estas tres acepciones, lo que lleva a preferir herramientas familiares —aunque sean un «ovillo enmarañado»— y a rehuir cualquier tecnología que exija aprender algo nuevo.
La charla defiende que la fiabilidad de los sistemas exige ante todo simplicidad, una condición que Dijkstra ya consideró prerequisite. Hickey anima a los equipos a anteponer lo simple sobre lo fácil y a mantener discusiones técnicas con ese marco, usando ambos términos con el rigor de su etimología.
