If you think about programming from the Dreyfus level perspective, in the manner of the Pragmatic Programmers, the principles are attempts by people working at the wizard level to try to communicate some of the things they do intuitively to people at other levels of learning. What Jeff Atwood is overlooking, is that these are principles, so they are not targeted at the novice level practitioner, who needs step by step instructions, not principles. Rather, they are concepts for more advanced programmers to examine so they can be aware of them the next time they encounter a similar issue. The question of whether to add a method to an existing class or create a new one, for example, happens all of the time in programming. It can be helpful to see how others have approached this problem so that you can use their experience to form intuitions that reflect situations beyond the ones you have encountered.<p>Joel Spolsky's dismissal of these rules is rather insulting from that perspective...but actually, he has formed his own intuitions and famous little sets of rules for how things should be done. Complaining that the principles of OO design, which aren't just Robert Martin's, but come from many sources, are too pedantic seems hypocritical.<p>Oh well, like the other people said, it's an offhand comment on a podcast, who cares? I can only imagine how much stupid stuff would come out of my mouth if I had to blather on about programming for an hour every week.