L'affaire Sudoku : Deux approches de la conception de logiciels
Cet article relate les expériences de Ron Jeffries et Peter Norvig dans la création de solveurs de Sudoku. Jeffries, utilisant une approche de conception incrémentale, a commencé par une représentation simple List[Option[Int]], la raffinant itérativement jusqu'à l'achèvement. Cependant, le code résultant était verbeux et manquait d'élégance. Norvig, tirant parti de son expertise en algorithmes de recherche, a utilisé une représentation Map[Coord, Set[Int]], résultant en un code concis et efficace qui a mis en évidence la propagation des contraintes. L'article compare ces philosophies de conception, soulignant l'impact de la connaissance du domaine sur le style de codage et encourageant la réflexion sur les méthodologies de conception de logiciels.