Linus: "...anybody who thinks that the above is [acceptable] is just incompetent and out to lunch."
That's a direct attack on the coder (and anyone else who thought the code was acceptable.) The remainder of the rant is written in such as way as to castigate the coder indirectly by insulting the work. If that wasn't the intent, such emotional and abusive language is completely unnecessary to get the point across.
I would not want to work in an environment where strong emotional language used to criticize employees "work" is considered acceptable.
I work with someone who has an amazing ability to tell people they're wrong and make them feel good about themselves. You come out of gruelling code reviews feeling hyped and enthusiastic about refactoring your code. It's a skill I'm not very good at and one I want to learn. That's professionalism in action.
but thank you for telling us your opinion anyway.
I'll do my best to honor your request, though.
totally using that in the future.
Is this the worst Linus rant ever? No. I think its virality is a bit inexplicable too. For a Linus rant, it is unusually focused on the code and not the upbringing of the authors of the code. It's weird that this is the one everyone's glomming onto; Gizmodo even ran a story headlined "you don't need to be a programmer to understand what this rant is about", but as you can see from this thread, even programmers don't understand what this rant is actually about.
But "not the worst Linus rant ever" is not the same thing as "not abusive". This clearly is abusive language, and would not be tolerated in most professional teams, even if the rant was about something more substantial than the relatively insubstantial thing it's about.
>This clearly is abusive language, and would not be tolerated in most professional teams,
Assuming that some people can differentiate between "abusive language" and actual abuse, is it possible to have different work cultures? Some are more masculine and competitive, some are more feminine and people select the work environment they like.
I think on most well-managed teams in the US software industry, if you were a staff programmer, you could get away with a rant like this just once; you'd be warned, and if you did it again, you'd be dismissed.
Obviously, if you were the manager, you could rant like this as much as you wanted. But then that's the point, right? Even on a team managed by a raving asshole, if you were lower-status and tried to get away with a rant like this, you'd get in trouble.
I'm pretty sensitive to it because candidly it's a struggle for me not to be ranty like this particular Linus rant (thankfully, I am nowhere nearly as bad as the worst Linus rants) and I've had to work hard to suppress it.
I think you would be surprised what happens in boardrooms and how bad heated discussions between CTO or CEO can look for outsiders.
I understand that if you are managing code monkeys whose lifehood is in your hands, you must behave differently because there is huge power imbalance. But workplace where everyone is competitive individual (top level corporate, professional sports teams, hacker culture) can work well with people who test each other constantly.
But if you're talking about the board of, like, AB InBev, I dunno!
There are people who get away with it, and there are cultures that are fine with it, but my guess is that about 80% of the time, your ability to rant like this is a function of the social status hierarchy. In a Lord Of The Flies sense.
I'd be uncomfortable working on a team that allowed it, because my thought would be: we're not really allowed to talk to each other this way, and the day I piss someone higher-status off will be the day one of my rants is used as an excuse to manage me out of the team.
Would you really want to work with someone who speaks to you this way? It's like a caricature of a typical "evil boss". I'm amazed that Linus can take himself seriously writing like this. It's just so unnecessary and overly dramatic, like a child throwing a tantrum.
"No sane PERSON"
"YOU damn well didn't do the right thing to begin with"
"[YOU are] just incompetent and out to lunch"
"[YOU] are so far out to lunch that it's not even funny"
The lines above would suggest otherwise. (Capital emphasis mine.)
I'm curious about how much people take what Linus says at face value.
I'm even more interested now, because the fulcrum of Linus's argument isn't safety.
This is just my opinion.
Using a builtin operation ("addition and comparison of integers") is always safer than using a function that may or may not work the same everywhere. I.e. a nonstandard function.
Also, the proposed code has more levels of indirection, therefore places a higher cognitive load on the reader. These things tend to result in bugs down the road.
And it is also true that "an overflow could still happen", which is mentioned in Linus' critique.
All of these are objective ways to measure how "safe" the code is.
Returning to the thread: why are you so comfortable extrapolating from Linus's rant to "this code would ruin the Linux kernel"? You don't grok the code he's talking about.
Is it because "if Linus is arguing against this code with this much ferocity, the code must be really bad?" Because if that's it, you're starting to see the issue some people have with the tone he uses.
OK, sure.
That seems a bit hyperbolic.
> Kernel development isn't for everyone.
Very little is "for everyone". That's not an excuse to offer criticism in a nasty manner. The article links to a nicer response that's a) shorter and b) a lot more likely to educate and build up a better contributor.
By the time Linus is ranting at someone at LKML, the person he's ranting at has --- statistically, at least --- already qualified themselves as especially competent. These people aren't arguing over Rails template languages.
I'm coming to realize that the sociology of Linus LKML rants is pretty fascinating.
I would be extremely motivated to prove Linus wrong. If I would realize I was wrong, I would lick my wounds and be hurt. The hurt felt would be related to the amount of work and effort I would have invested. I would not claim that Linus is responsible for my emotional state. I was challenged and I lost.
Identifying with your ideas is fine in moderation but taking lasting personal offense is when your ideas forcefully rejected is madness.
Linus was attacking the work and ideas and cursing them. He was not attacking the person who wrote the code. Cursing is not abusive by itself. Cursing is emotional emphasis.
I would not want to work in a environment where strong emotional language used to criticize your work is considered abusive. If conflict over ideas and work does not make your blood flow, you don't care.