I'm getting a bit tired of these people, they post stupid mindless entries that make the whole blogosphere shake like they know everything about programming and their word is holy. They argue with common practices or beliefs and all of the content can be summarized to: "there's this thing, and there's the exact opposite, but <i>you should try be in the middle and take the best of both worlds</i>". Every single one of their posts boils down to that. Then comes a follow-up, and a follow-up to the follow-up, and here I am making a comment about how stupid I think their blogs are.<p>Come on, there's much more interesting people out there, don't focus on this nonsense.
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.
One of the coolest things about the internet is how people rush to be the first to declare that something has jumped the shark.<p>Wait, that's not cool at all. That's just lame.<p>Anyhow, alas, it was all for nought anyhow as kevinwilliampang.com has been beaten to the punch, repeatedly, as a quick Google search will show. '"jeff atwood" "jump the shark"' comes back with 267 results, not all accusing Jeff of jumping the shark, but enough to make my point.<p>Thinking hating on things is cool is for lamers. (Or some phrasing like that.)
See this incredibly effective satire of Jeff's daily inanities: <a href="http://blog.wekeroad.com/blog/nothing-to-say/" rel="nofollow">http://blog.wekeroad.com/blog/nothing-to-say/</a>
Joel Spolsky: <i>Yeah. And the worst thing that happens is that you get people that just stop thinking about what they're doing.</i><p>Jeff Atwood: <i>Rules, guidelines, and principles are gems of distilled experience that should be studied and respected. But they're never a substute for thinking critically about your work.</i><p>Kevin Pang: <i>we should be in support of anything that will force programmers to think more about the code they write, not less</i><p>Aside from brand arguments about "Agile" versus "SOLID" versus "what-would-Jesus-do" style programming, where, exactly, is the "war" here?
Snappy answers to stupid questions:<p>Q: Has Jef Atwood jumped the shark?<p>A: Hell no. If you don't like is blog, don't read it. Stackoverflow is still a great resource.<p>Q: Is SOLID a good idea that more programmers should read?<p>A: Hell yes.<p>Q: So why is he "waging war against SOLID" and saying we shouldn't we follow these rules?<p>A: He didn't say that. Solid principles are absolutely worth knowing. But when you're a master programmer, they more what you'd call "guidelines" than actual rules. (<a href="http://en.wikipedia.org/wiki/Shuhari" rel="nofollow">http://en.wikipedia.org/wiki/Shuhari</a>)<p>Q: do these "Ferengi rulebook programmers" exist?<p>A: it's rare, but they do.<p>Q: So Kevin Pang is wrong then?<p>A: Well, he's wrong about Atwood jumping the shark. He's right that the vast majority of programmers aren't masters, so Atwood's points don't apply to them and they should learn the rules. Maybe he's wrong to get into a blog-post-fist-fight, maybe he's right to stir up debate. Take your pick on how you want to see that one.
<i>I wonder if Jeff and Joel are secretly just messing with us to see how much commotion they can stir up.</i><p>Is this not what you were doing with this post, by singling out the author instead of the argument?
I hereby announce that I have jumped the shark. I used to be so original and relevant, but now I just make stupid meta jokes about myself. It's sad, really, but there it is.