3 ms·
Test driven development is essential for writing reliable distributed systems programs. Robert Morris' 6.824 class is proof of this. There is a time and a place
by sillysaurus 13y ago
Test driven development is essential for writing reliable distributed systems programs. Robert Morris' 6.824 class is proof of this. There is a time and a place for every tool.
- contingencies 13y agoI don't really have an opinion either way, having never tried TDD, but I do write distributed systems and don't see why you can't use post-facto testing to get the same results. I am interested in your reasoning. (Re: Proof, http://pdos.csail.mit.edu/6.824/schedule.html http://pdos.csail.mit.edu/6.824/schedule.html doesn't feature the word 'test' which though circumstantial sort of downplays the weight of an inextricable link such as that you are supposing.)
- sillysaurus 13y agoDownload the labs. Don't look at or run the tests. Carefully implement each lab based on its description alone. Implement until you're certain you've done it correctly. Run the tests. Discover that your implementation is far from flawless.
- contingencies 13y agoIt sounds like the non-test specification is simply poor, and the tests elucidate parts of the specification that are unclear. This doesn't seem relevant to the original question of the claimed requisite-level efficacy of TDD in designing distributed systems.
- sillysaurus 13y agoActually, the specifications are quite clear. The subject matter is just difficult to implement correctly. I encourage you to try it. It's a lot of fun.