-
Notifications
You must be signed in to change notification settings - Fork 17
Aim Small, Miss Small: Writing Correct Programs
Stuart Halloway edited this page May 22, 2018
·
3 revisions
- Slides from May 2018
We have tons of tools and practices to help us write correct programs, including:
- red squiggly underlines
- type systems
- automated tests
- proofs
- generative testing
- stacktraces
- frameworks
- agile methods
- test-driven development
- logging
- humane error messages
- step debuggers
- simulation
Net result so far: We invest a lot of time and money, and our programs are still full of bugs.
I don't have a silver bullet to offer, nor do I plan to denigrate any of the ideas listed above. But I will say this: I regularly watch programmers aim too large and miss by miles.
To aim small is to:
- plan ahead and catch misconceptions early before they ramify
- make small things, at every level
and then plan to miss anyway:
- expect failures and make them more evident
- divide and conquer when things go wrong
This talk will show you how.