Well, sure, if you majored in CS... Point is, not all developers out there think about threads in this context. There's nothing wrong with hammering home the basics. Rahul shows the pitfalls of testing concurrency and expresses the need for developers to think about concurrent design semantics. Certainly, most developers understand what a race condition is or what causes a deadlock. But how many general purpose developers out there express concurrency correctly and know how to test their code properly (this includes up front design, the use of static analysis tools and runtime testing)?C
spivonious is right, this was all basics - nothing new here, really.If a developer does not know about locks/deadlocks etc. then I'm sorry to say, but he/she is just a poor developer. This is first year's knowledge on any decent university, no major degree required. This story was good maybe for Channel8, not 9.
I can't say for all the niners, but I personally feel that we should focus on specialized tools that assist in debugging concurrent programs, rather than stating the obvious about problems in parallel programming.
Thanks for the feedback... How many of you use the tools addressed in this interview (from MSR as well as in the Windows SDK)? Do you want to learn more about them? Remember that Channel 9 is not just focused on the technology but also the people who make it. Rahul is tasked with building tests for concurency. Perhaps I should have focused more on what he does, exactly. That said, I still think this is useful information and is pertinent to even the most seasoned developer: code pattern correctness, tools for testing at compile time and run time. I'll look into getting some interviews set up where we dig into the tooling.Keep on watching,C