Skip to content
TopicTracker
From HackerNewsView original
TranslationTranslation

Software Design by Example

"Software Design by Example" is a free, open-access online book that teaches software design principles through the re-implementation of real-world tools like build systems, debuggers, and interpreters, using Python to illustrate key concepts.

Background

- **Software Design by Example** is a free online book by Greg Wilson (creator of the Software Carpentry workshop movement). It teaches software design concepts (modularity, testing, APIs, design patterns) by guiding readers through building small but real tools (a debugger, a search engine, a test framework, etc.) from scratch. - The key idea: instead of lecturing abstract principles, Wilson shows design decisions concretely by constructing working code. Each chapter adds a new design challenge — e.g., how to structure a simple interpreter, how to handle configuration, how to make code testable. - The book is aimed at intermediate programmers who can write code but haven't studied software architecture formally. It assumes Python proficiency but no prior design theory. - It fills a gap between beginner tutorials and advanced software engineering textbooks, and is notable for being open source, continuously updated, and used in university courses.

Related stories