El Asunto Sudoku: Dos Enfoques para el Diseño de Software

2025-02-05
El Asunto Sudoku: Dos Enfoques para el Diseño de Software

Este artículo relata las experiencias de Ron Jeffries y Peter Norvig en la construcción de solucionadores de Sudoku. Jeffries, empleando un enfoque de diseño incremental, comenzó con una representación simple List[Option[Int]], refinándola iterativamente hasta su finalización. Sin embargo, el código resultante fue verboso y careció de elegancia. Norvig, aprovechando su experiencia en algoritmos de búsqueda, usó una representación Map[Coord, Set[Int]], resultando en un código conciso y eficiente que mostró la propagación de restricciones. El artículo contrasta estas filosofias de diseño, destacando el impacto del conocimiento del dominio en el estilo de codificación y promoviendo la reflexión sobre metodologías de diseño de software.