4 ms·
Small correction, Linus rejected Monotone because it had been horribly slow on the huge Linux source tree. Git was focused on performance from the outset, where
by adambyrtek 16y ago
Small correction, Linus rejected Monotone because it had been horribly slow on the huge Linux source tree. Git was focused on performance from the outset, where Monotone cares more about integrity and correctness than speed.
That said, it's definitely true that Linux has strong and negative opinions on C++.
- lambda 16y agoWell, one of the big problems in Monotone back in the day was that since they (we? I contributed a bit to Monotone, but was never a core contributor) broke people's repos several times with data integrity bugs, and so got very paranoid and added lots of slow integrity checks to make sure that didn't happen any more. Part of the reason for the breakage was that they were still experimenting with the basic representation of history, merge algorithms, and the like, and so had to do data migrations quite often, which sometimes introduced bugs. Git had the advantage that it could learn from Monotone's mistakes, and focus on speed, and not have to experiment as much since much of the basic design ideas were already there. Git also made several better architectural choices, I believe, going with a much more simple and stable repository format than Monotone had.
- lucisferre 16y agoI think you have to take what he has said about C++, or OO in general in context. What he said (at least what I've read) was that C++ would never make sense for the kernel, and his reasoning seems sound to me I've always taken the opinion that OO makes sense where one needs the ability to model abstract systems in a way that can express and even explain them through the code. Modeling an computer doesn't require or benefit as much from such abstractions.
- adambyrtek 16y agoIt's not only about kernel, see this thread from the Git mailing list: "C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do nothing but keep the C++ programmers out, that in itself would be a huge reason to use C." http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 http://thread.gmane.org/gmane.comp.version-control.git/57643...
- lucisferre 16y agoAnd that may be a fair criticism of C++ specifically, I don't know I don't really use it.