Why don't Linux developers use Visual Studio? [...]C++ doesn't work for Linux kernel development. Simple as that.
No doubt about that as far as all the IDE things go, and I agree at least partly with other things. It's not what I'm saying though. I'm neither claiming that C++ would just work for the Linux kernel or that it would be equally or better suited. Obviously you can't just plug C++ in there and expect it to work, but I don't doubt that it would be possible to use C++ in kernel development (most issues that you pointed out are true, but solvable).
But that's not my point, my point is that because Mr. Torvalds says C++ is shit, that isn't necessarily so, and repeating the old mantras about how C is so much better and more efficient when it isn't
is just silly.
I'm against claims such as "C is more portable than C++" too. From the specification, C++ is more portable, because a lot fewer things are undefined.
In fact, it's funny to speak of C and portability in the context of Linux, since nothing is as non-portable as the (entirely written in C) Linux or any program running under it. All those "portable" programs depend on ./configure fixing their non-portability issues via macros, and hardly one program compiled under one Linux distribution runs under another distribution, with the same kernel version on the same processor
. Let's not even talk about a different version or processor.
I'm not saying that this would necessarily be any different with C++, but I object to the "ah... C++ is shit because C is soooooo much more portable". The claim just isn't real, especially not with software that needs stuff like #define SIZEOF_INT 4
to compile and that works on raw pointers depening on hardcoded offsets and such.
I'm also against the "good C programmer, shit C++ programmer" comparison. This one pisses me off in particular. There are as many bad C programmers as there are bad C++ programmers (and as there are C programmers who think they are C++ programmers, and Java programmers, Ruby programmers, and <insert any other language> programmers). You just can't compare a "good C programmer" to a "bad C++ programmer" and say: "see, C is much superior, because C++ programmers are shit".
Except that C++ with its much stricter rules and much better type checking might indeed
be able to catch a lot more stupid errors. The compiler catches 1-2 really stupid errors of mine per day, and I don't consider myself a particularly stupid programmer (not more stupid than anyone else, anyway). And guess what, I'm happy that the compiler finds these things early, it makes my life much happier.
Also, C++ with its much bigger standard library requires a "shit programmer" to implement a lot less boilerplate code, which means there is a lot less room for serious mistakes. Among the major reasons why Java and C# are successful is not so much that they are superior in some way, but the fact that they have very complete standard libraries that "just work".
Of course nobody can prevent someone from using a standard library in the most stupid way possible, but that applies to every language and every library, and isn't the fault of C++ in particular. I can write a hell of a stupid, inefficient program in C or in Java too, if you give me a few minutes.
Distributed VCS are many, git is just blindly accepted because Linus does it and he has to be right.
Yep, thats exactly it, and that's what I don't agree with. That, and the author's attitude.
Err.... why all the git hate?
It's not Git hate, you got that wrong, it's about the attitude, I only used Git as an example because its history contains a very "bloomy" description of said attitude.
Git performs kind of ok, there is little doubt about that, and if someone likes to use it, no objections. But it is not much superior to all other revision control systems for the average user, and certainly not the best thing since the invention of the wheel. It's not for everyone, either.
But most importantly, it's not like everything else is shit, just because Mr. Torvalds thinks so, and because he knows everything. The nasty things that I wrote in my previous post about Subversion are an almost word by word Torvalds quote. I didn't make those up, you can find them on the internet.
Granted, Mr. Torvalds started a Unix-like kernel project, and I didn't, so you could say that's 1:0 for him. But that does not make him God, or the supreme ruler of programming. If you're being honest, the Linux kernel in the early 1990s as conceived by Mr. Torvalds had mostly one truly good property, and that was that it didn't cost anything. The (so-called) contributions (which in reality
are the major, important part!) from people like Mr. Anvin, Miller, Molnar, Card, or Ts'o (incomplete list) are what actually made and makes Linux competitive today. Without these people, it would be nothing. Also, it is the hundreds (thousands?) of GNU programs and millions of man hours provided by GNU supporters which actually kept Linux running for two decades. We would not even be able to boot Linux without the GNU people.
So in one word, what I don't agree with is idolizing a person in such a way and justifying every stupid and nasty thing he says which is of course automatically true, because it's him.