I have been hearing a lot of noise in the blogosphere about opinions on The Duct Tape Programmer. This is a phrase coined by Joel Spolsky, of Joel on Software fame. He writes about his respect of such a programmer. Let's first define what such a programmer is.
These programmers roll up their sleeves and just do it. They do not get weird bugs in their code. Their work is completed quickly. These programmers skip unit tests. They also avoid "complex" techniques such as templates, multiple inheritance, multi-threading, COM, CORBA, and C++.
This list really isn't a list of difficult tech. Those are just areas where an Astronaut Architect might get tripped up and not be able to deliver working software quickly. There has been a backlash against the love of such a programmer. Many have come to the defense of unit tests. And developers should be willing to learn new technologies.
I think that a duct tape programmer can use C++. They just might not need to use templates for implementing every solution. I also agree that multiple inheritance is not needed. However there comes a time when you need to start a background thread to do some work and not hang up the user interface. It is all about moderation. More thought is needed on this topic as it often depends on the situation.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...