the sudoku affair • Buttondown
In 2006, Ron Jeffries wrote a series of posts describing his attempts to build a Sudoku solver. He began by wrapping a class around a simple datatype for the board — essentially a List[Option[Int]] — and after that, there isn't much to tell. As Peter Seibel puts it: [H]e basically wandered around for the rest of his five blog postings fiddling with the representation, making it more “object oriented” and then fixing up the tests to work with the new representation and so on until eventually, it seems, he just got bored and gave up, having made only one minor stab at the problem of actually solving puzzles. This story has, in some circles, become notorious. There are two reasons for this. The first is that Ron Jeffries is a leading proponent of a post-design approach to software development. Good design, he asserts, is simply the result of keeping your code "properly-factored:" [Kent] Beck has those rules for properly-factored code: 1) runs all the tests, 2) contains no duplication, 3)
February 5, 2025 the sudoku affair Software design is a deliberate process, and requires deliberate effort. In 2006, Ron Jeffries wrote a series of posts describing his attempts to build a Sudoku solver. He began by wrapping a class around a simple datatype for the board — essentially a List[Option[Int]] — and after that, there isn't much to tell. As Peter Seibel puts it: [H]e basically wandered around for the rest of his five blog postings fiddling with the representation, making it more “object oriented” and then fixing up the tests to work with the new representation and so on until eventua
Explore this link on the map →related reading
- The Grug Brained Developergrugbrain.dev
- Solving Every Sudoku Puzzlenorvig.com
- Notes on Puzzles — Nabeel S. Qureshinabeelqu.co
- The Joel Test: 12 Steps to Better Code – Joel on Softwarejoelonsoftware.com
- The Programmer's Paradox: Waterloo Styletheprogrammersparadox.blogspot.com
- Introductionthird-bit.com
- The Design Recipefelleisen.org
- The Programmer's Paradox: Systems Thinkingtheprogrammersparadox.blogspot.com
- notes/books/pragmatic-programmer.md at master · pkardas/notes · GitHubgithub.com
- The Art of Responsemindingourway.com
- The Programmer's Paradox: Fragmentationtheprogrammersparadox.blogspot.com
- Writing Toy Software Is A Joyblog.jsbarretto.com