Andreas Ericsson <ae@xxxxxx> writes: > Shawn O. Pearce wrote: >> Dmitry Kakurin <dmitry.kakurin@xxxxxxxxx> wrote: >>> When I first looked at Git source code two things struck me as odd: >>> 1. Pure C as opposed to C++. No idea why. Please don't talk about >>> portability, it's BS. >> >> It is also a relatively simple language that >> a large number of open source programmers know. This makes it easy >> for them to get involved in the project. > > > This is important. Git contains code from more than 300 people. I'm > guessing you could cut that number by 2/3 if it had been written in > C++. C++ is a language without design discipline. Its set of features and syntactic elements is incontingent (for example, its templates started as a ripoff of Ada generics which would have been ok except for the completely braindead idea of taking the Ada angle bracket restriction syntax along with it), and it is the task of each programmer to choose a sane and manageable subset and style, and implement using that. As a consequence, every C++ programmer writes his own personal dialect of C++, and we have about 20 different incompatible implementations of multidimensional numeric arrays, making a complete mockery of the "code reuse" mantra: C++ _projects_ can't actually usefully achieve "multiple inheritance" on a design/meta level: once you start with one non-trivial design, fitting other separately evolved components with a different style causes retrofitting nightmares. So going to C++ means cutting down the amount of people who find themselves comfortable with the actual design and layout down to maybe 10% of those who would actually feel ok with the actual _algorithms_ employed. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html