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?