Die Sudoku-Affäre: Zwei Ansätze zum Software-Design

2025-02-05
Die Sudoku-Affäre: Zwei Ansätze zum Software-Design

Dieser Artikel beschreibt die Erfahrungen von Ron Jeffries und Peter Norvig beim Erstellen von Sudoku-Lösern. Jeffries verwendete einen iterativen Designansatz und begann mit einer einfachen List[Option[Int]]-Darstellung, die er schrittweise verfeinerte. Der resultierende Code war jedoch wortreich und wenig elegant. Norvig nutzte seine Expertise im Bereich Suchalgorithmen und verwendete eine Map[Coord, Set[Int]]-Darstellung, was zu einem prägnanten und effizienten Code führte, der Constraint Propagation demonstrierte. Der Artikel vergleicht diese Designphilosophien, hebt den Einfluss von Domänenwissen auf den Programmierstil hervor und regt zur Reflexion über Software-Design-Methodologien an.