Found this on reddit, but it’s like 9 years old. Whatever. It is my theory that more often than not, with great success comes great arrogance. Examples include dr. House, Steve Jobs, Eric Raymond, Paul Graham and Linus Torvalds. And that’s fine. Better yet, it’s amusing. So, let’s have a look at a nice Linus gem.
In this episode, be sure to also read the whole thing, Linus is complaining about people wanting kernel debuggers. A few highlights:
Apparently, if you follow the arguments, not having a kernel debugger leads to various maladies:
- you crash when something goes wrong, and you fsck and it takes forever and you get frustrated.
- people have given up on Linux kernel programming because it’s too hard and too time-consuming
- it takes longer to create new features.
And nobody has explained to me why these are _bad_ things.
To me, it’s not a bug, it’s a feature. Not only is it documented, but it’s _good_, so it obviously cannot be a bug.
“Takes longer to create new features” — this one in particular is not a very strong argument for having a debugger. It’s not as if lack of features or new code would be a problem for Linux, or, in fact, for the software industry as a whole. Quite the reverse. My biggest job is to say “no” to new features, not trying to find them.
Oh. And sure, when things crash and you fsck and you didn’t even get a clue about what went wrong, you get frustrated. Tough. There are two kinds of reactions to that: you start being careful, or you start whining about a kernel debugger.
I’m a bastard. I have absolutely no clue why people can ever think otherwise. Yet they do. People think I’m a nice guy, and the fact is that I’m a scheming, conniving bastard who doesn’t care for any hurt feelings or lost hours of work if it just results in what I consider to be a better system.
And I’m not just saying that. I’m really not a very nice person. I can say “I don’t care” with a straight face, and really mean it.
I happen to believe that not having a kernel debugger forces people to think about their problem on a different level than with a debugger. I think that without a debugger, you don’t get into that mindset where you know how it behaves, and then you fix it from there. Without a debugger, you tend to think about problems another way. You want to understand things on a different _level_.
Ergo, debuggers are for sissies. Thank you, Linus, for clearing that one up.