From: Andy Parkins Date: Fri, 07 Sep 2007 07:41:25 GMT Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library. Message-ID: <200709070841.33057.andyparkins@gmail.com> In-Reply-To: <85ejhb7yzw.fsf@lola.goethe.zz> 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 andyparkins@gmail.com