Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.

From: Andy Parkins <[email-masked]>
Date: Fri, 7 Sep 2007 08:41:25 +0100

On Friday 2007 September 07, David Kastrup wrote:

(Disclaimer: I'm certainly not joining the "C++ for git" chant; this reply is 
merely to the statements made about C++ in David's message).

> The problem with C++ is that every C++ developer has his own style,
> and reuse is an illusion within that style.  Take a look at classes
> implementing matrix arithmetic: there are as many around as the day is
> long, and all of them are incompatible with one another.

One could say the same about any API.  "Take a look at that C library libXYZ - 
it does exactly the same thing as libPQR but all the function calls and 
structures are different.  Conclusion: C is shit".  Obviously nonsense.

> With regard to programming styles, C++ does not support multiple
> inheritance.  For a single project grown from a single start, you can

Multiple inheritance is the spawn of the devil, but C++ _does_ support it.

Forgetting about the terrible STL, to me there really is no difference between 
C and C++; you can be object oriented in C.  Take a look at the Linux kernel, 
it should be printed out, rolled up and used to beat the ideas into students 
learning C++/Java/C#.   Object oriented design is a choice, and if you really 
wanted you could do it in assembly.

I would imagine the reason people often turn up wanting to rewrite Linux and 
git in C++ is because they are so object oriented in nature already and it's 
natural to think "wouldn't this be even better if I wrote it in an object 
oriented language"?  Maybe, maybe not, but why bother?

Andy

-- 
Dr Andy Parkins, M Eng (hons), MIET
[email-masked]