An interesting view on C++

Pages: 12345
and that hating others for their own opinions is fine


In my opinion(irony?) hating people for opinions isn't fine, however disliking people for their opinion is more accecptable than "hating" them. It just seems kinda of ignorent to decide all at once that somones not worth the air they breath.
EDIT: I could probably picture Linus being punched in the face in real life for saying bullshit like that.


I think that is the closest to punch people have done:
http://www.youtube.com/watch?v=RGvFzPO6jW4

Btw, I think he says "you throw like a girl".
Last edited on
That is so much more of him than I've ever wanted to see... *throws up*
Alright! Now I'm back and I can say what I wanted to say.

The thing about Torvalds is that he's really fond of his fallacies. What he calls "arguments" can be boiled down to this:
Linus Torvalds wrote:
You are wrong because you are stupid and I'm smart. Because you disagree with me, who am smart, you are stupid. Since I'm smarter than you, and you disagree with me, not only are you wrong, but I'm also right.
Basically (and unsurprisingly), he's really into argumenting from authority by setting himself up as the authority, by setting everyone else in the world as morons.

It's made more horrible by the fact that a lot of substandard programmers use it
This is what I'm talking about. This is another way of saying "if you disagree with me, you're too stupid to realize why you're wrong, so I'm right no matter what".

the only way to do good, efficient, and system-level and portable C++ [And so on. ...]

So I'm sorry, but for something like git, where efficiency was a primary objective [...]
This one is "straw man".
Let's say for the sake of argument that many of C++'s features do indeed suck for systems programming. That doesn't imply they also suck for application programming, which is what Git is. I can accept that performance was a design goal in Git, but was it kernel-level performance?

If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.
For all of these, we have but his word. We don't know if it actually is an unmaintainable mess. If it is, we don't know why it's an unmaintainable mess. It could be the abstractions they used just as easily as how they combined those abstractions; the problem could even be at the implementation level. How does he know it?
Last edited on
It's made more horrible by the fact that a lot of substandard programmers use it

How can a language be made horrible because people use it poorly? There are lots of poor C programmers as well. This guy just doesn't make sense.
Some people have an impulse to argue, and it kind of blocks out common sense. It took me years to get around this impulse, and I still have to catch myself when I start to argue again. I usually end up just looking stupid...
http://i55.tinypic.com/2yl2r01.png

I SWEAR, no photoshop. Try it for yourself lol!
Xander333, you just made my day.

I think it´d be better to stop arguing. It doesn´t help much, because if he has that kind of attitude, there´s no reason to waste time. He doesn´t read (almost certainly) these forums anyway.

If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.


And who has said something recently about Linux kernel being a mess, Linus? I guess Linux is C, not C++ :D Actually you can create a messy program in any of the languages.

BTW: CS people rarely find C++ abstractions appealing. Maybe 10 years ago that was true.

On the other hand, I partially agree with him, although he is a little too harsh. OOP really *is* quite an overrated paradigm, and OOP features in C++ are also not as good as they could be. The OOP languages tend to attract lots of programmers that think that good design means just applying enough OOP design patterns. And that is obviously not true, and these programmers create very hard to understand code. A code, where you have to break through 50 layers of delegation and inheritance just to find that 10 lines of code that do something useful. Java Enterprise frameworks are a perfect example of this - a horrible mess.

This overengineering phenomenon also happened once in history in Netscape - Netscape 2.x in C was a success. Netscape 4, a complete rewrite of previous version in C++, by people who were fascinated by the GoF patterns, was a buggy, awful, non-portable, unmaintainable mess, and was swept away by IE (which also wasn't perfect, but appeared earlier and had less bugs).

Last edited on
Just pointing out, no one in their right mind uses IE anymore. Google Chrome and Firefox are the most popular browsers nowadays, and Chrome was written in C++ (along with python and javascript), and Firefox in C/++.
Just pointing out, no one in their right mind uses IE anymore

Huh? So the 40-60% of Internet users must be insane then. Actually IE9 is quite ok.

Nevertheless, it took quite a lot of time, until people learned how to use C++ wisely and which features to avoid (Mozilla: don't use exceptions, don't use STL..., Google: don't do anything that may fail in constructors, including allocation, don't use Boost, etc.). Linus'es fear of C++ is probably caused by some early experiences, when many systems have been rewritten from C to C++ and that caused a lot of headache. C++ offers simply too much ways to hang yourself, without giving any protection over C. In C, the number of ways you can hang yourself are much more limited.
In C, the number of ways you can hang yourself are much more limited.


Nice way to put it :p Although Even though you can hang yourself more easily doesn't make it a bad thing right? I like the feel, and power that comes with such a language.

EDIT: Even though if anyone hanged themself with a language feature it would probley be me("darn rookies!").
Last edited on
Just pointing out, no one in their right mind uses IE anymore. Google Chrome and Firefox are the most popular browsers nowadays


I'd take IE over Chrome any day of the week. I don't know why people are so into that browser.
CS people rarely find C++ abstractions appealing. Maybe 10 years ago that was true.
You have to have read some of his postings to know what he meant there. He wasn't talking specifically about C++, but about overabstracting in general (to him, nearly any abstraction is overabstraction). This was the key point of his argument with Tanenbaum in the early 90s. He argued that the abstraction mechanisms needed to implement a microkernel killed performance and were an unnecessary complication. Tanenbaum argued for the added security and elegance the design brings.

The OOP languages tend to attract lots of programmers that think that good design means just applying enough OOP design patterns. And that is obviously not true, and these programmers create very hard to understand code. A code, where you have to break through 50 layers of delegation and inheritance just to find that 10 lines of code that do something useful.
For lack of a term, I will call this the "Java Programmer's Disease". The tendency to use as many language features as possible just because they're there.

Linus'es fear of C++ is probably caused by some early experiences, when many systems have been rewritten from C to C++ and that caused a lot of headache.
That was exactly the impression I got. He must have been unlucky enough to work in C++ back when all the PHBs were jumping onto the C++ bandwagon.
Last edited on
@Disch, it's not that I'm particularly into Chrome, but it runs much faster than any other browsers and the interface is nice. Firefox takes about 10 seconds to start up and IE almost 20. Google chrome takes less than one, and in my opinion has a much sleeker design.
Firefox takes about 10 seconds


I don't know what kind of POS machine you're on, but I just counted 3 seconds from a cold boot.

EDIT: and virtually instantaneously if closed and run again later.

Besides, since when was browsing speed capped by anything other than your internet connection?
Last edited on
closed account (S6k9GNh0)
Seriously, the "my browser is faster than your browser" seems like a bunch of crap. The only time I've seen it matter is when Firefox's garbage collector goes haywire and takes up 1GB+ of RAM.
Last edited on
+1 @ computerquip
closed account (3hM2Nwbp)
Speaking of browsers...has anyone been able to figure out why (in firefox only) adobe flash seems to randomly spike CPU usage up above 95% for 5-10 seconds? Although I don't know the internals of either technology, my gut instinct tells me that it would likely be some form of GC running.
http://www.huffingtonpost.com/2011/03/28/google-chrome-10-vs-firefox-4-vs-internet-explorer-9_n_841320.html
Firefox Won :'(
Anyhow, I'll still prefer Google Chrome any day.
@Disch, Awesome that it goes that fast, it still takes me ten seconds! And when I used to use it I can think of hundreds of times it's crashed, often causing me to lose a lot of data. I can think of 3 times that Google Chrome has crashed on my computer. I'll always be a Chrome guy, and you can be a Firefox guy, w/e.
Pages: 12345