Linus rants about new and improved programming interfaces
Every once in a while somebody comes up with an idea for a "new and improved" interface, and the project ends up falling flat on its face. Linus Torvald's recently expressed his frustration with such things.
Linus shared his thoughts in a message on the mailing list:
No. I'm not taking yet another broken "deprecate old interface, replace it with new-and-improved one, and screw things up in the process".
I really am very tired indeed of these "trivially obvious improvements" that are buggy and actually introduce whole new ways to write buggy code. Yes, the old code could miss an error. But the old code wouldn't then create invalid pointers like the new code does.
But whatever the final resolution to this is, I am *not* taking this series. No way, no how. I liked the automatic type-based templating it does, but I *don't* like the breakage that seems to be inevitable in any large-scale conversion from a previously used historical interface. People who implement new and improved interfaces always seem to get that wrong.
The comments by Linus spawned a large thread in the Linux subreddit, and redditors weren't shy about sharing their thoughts:
BoomierBoom: ”I wish the projects I test for had Linus as a project manager.”
Dancingwithcats: ”Indeed. Speaking as someone who wears many hats in his job, one being a project manager from time to time, sometimes you have to be not just blunt...in order to be effective. That's one reason why effective project managers often have bad reputations or are not well liked in their organizations.”
Frbap: ”For a Linus rant, this is pretty tame. I'm impressed.”
Frutiger: ”Actually most of Linus' posts are very civilized. The ones that get publicity outside of LKML are usually expletive-filled, and those are the only ones that the average non-LKML reader sees (selection bias).”
Someenigma: ”Not only tame, but completely on point. I mean, I agree with most of his rants anyway, but I find it hard to believe anyone could have a problem with this. There's a clear flaw in the first patch he checks, and he points it out.”
Mastigia: ”Never seen his rants before, these are glorious.”
Minedwiz: ”Yeah, seriously. Positively reserved by his standards.”
Gaggra: ”Cue everyone talking about his personality and his mannerisms and nobody talking about the technical points of his post.”
JackD: ”...he's more concerned about the fact that the patch he was critiquing tried to do that for the sake of doing it and just did it poorly, and broke everything else in the process.”
Swordgeek: ”Before I read it, I thought this was a user interface he was discussing, not a programming interface. Everything he says is relevant in both cases, though.”