> Am I alone? Is there any hope out there? I'm working on this problem. I think the solution is white-box testing from the ground up, so that software encodes not just the rules about what to do but the specific scenarios that the programmer considered. Because we only encode rules and not intentions we paint ourselves into corners where it's always easier to add more layers of code than it is to rework existing layers. But this is hard to do with the existing stack, because unix was invented before we appreciated the power of tests, and it makes it too hard to write tests for blocking IO, or for the 'find' command, or for what happens when a program runs out of memory or disk. What we need is a simple OS and a comprehensive library of fakes (https://en.wikipedia.org/wiki/Mock_object#Mocks.2C_fakes_and_stubs) for all OS concepts. This is what I'm working on.
http://akkartik.name/about http://akkartik.name/post/readable-bad https://news.ycombinator.com/item?id=8308881 https://news.ycombinator.com/item?id=8309344 https://news.ycombinator.com/item?id=8327008 https://news.ycombinator.com/item?id=8375219 http://www.ribbonfarm.com/2014/04/09/the-legibility-tradeoff