Ask YC: which subversion client do you like most 18 years ago
While, as a devout Ocamlist, I don't much like Python, Git's code is indeed a Torvalds-style mess with an unholy mixture of C, shell scripts and even bits of Perl. Now it certainly has innovative concepts but writing a complex app like this in C is not a good idea. A HLL would have been safer, and for performance-critical parts, you can still use C, as in Mercurial. Actually, Mercurial's code is rather clean, a bunch of Python files, plus two C stubs. Also, Git doesn't, understandably, work well under Windows. I would consider this an advantage but my bosses insist on shipping Windows software for some strange reason.