Comparando Três Noções de Complexidade de Software

2025-06-15

Este artigo compara três definições distintas de complexidade de software de Rich Hickey, John Ousterhout e Zach Tellman. Hickey define simplicidade como unidade, enfatizando a objetividade; Ousterhout define complexidade como qualquer coisa que torna um sistema difícil de entender e modificar, destacando dependências e obscuridade; Tellman define complexidade como a soma de todas as explicações, enfatizando a surpresa dependente do público. O artigo pesa os pontos fortes e fracos de cada um, explorando sua aplicação a problemas do mundo real. Em última análise, argumenta que a abordagem baseada em explicações de Tellman é superior para capturar a experiência subjetiva do desenvolvedor e orientar decisões práticas.

Desenvolvimento complexidade de software