Skip to content

gvwilson/sdxjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

795 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software Design by Example

A tool-based introduction with JavaScript

book cover
The best way to learn design in any field is to study examples, and the most approachable examples are ones that readers are already familiar with. These lessons therefore build small versions of tools that programmers use every day to show how experienced software designers think. Along the way, they introduce some fundamental ideas in computer science that many self-taught programmers haven't encountered. We hope these lessons will help you design better software yourself, and that if you know how programming tools work, you'll be more likely to use them and better able to use them well.

Chapters

1. [Introduction](@/introduction/) 1. [Systems Programming](@/sysprog/) 1. [Asynchronous Programming](@/async/) 1. [Unit Testing](@/test/) 1. [File Backup](@/backup/) 1. [Data Tables](@/table/) 1. [Pattern Matching](@/glob/) 1. [Parsing Expressions](@/parser/) 1. [Page Templates](@/templater/) 1. [Build Manager](@/build/) 1. [Layout Engine](@/layout/) 1. [File Interpolator](@/interp/) 1. [Module Loader](@/loader/) 1. [Style Checker](@/style/) 1. [Code Generator](@/codegen/) 1. [Documentation Generator](@/docgen/) 1. [Module Bundler](@/bundler/) 1. [Package Manager](@/packman/) 1. [Virtual Machine](@/vm/) 1. [Debugger](@/debugger/) 1. [Conclusion](@/conclusion/)

Appendices

1. [License](@/license/) 1. [Code of Conduct](@/conduct/) 1. [Contributing](@/contributing/) 1. [Bibliography](@/bibliography/) 1. [Glossary](@/glossary/)

Acknowledgments {: #acknowledgments}

Greg Wilson is a programmer, author, and educator based in Toronto, Canada. He was the co-founder and first Executive Director of Software Carpentry and received ACM SIGSOFT's Influential Educator Award in 2020.

start where you are · use what you have · help who you can

About

Software Design by Example with JavaScript

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors