Since this is turning into a C vs C++ discussion I couldn't resist commenting.
I have worked on large projects that are written in C. Maintenance is a complete mess. It is no fun trying to track down that one function implementation through 150 source files. At least with C++, the functionality is encapsulated and there is some sort of organization.. > > The usage from C applications is a very valid point. To me this is the > > strongest argument against using C++. I don't really understand this. Maybe if you have someone that refuses to use a C++ compiler instead of a C compiler. I guarantee ALL C++ compilers will compile a pure C program perfectly just not vice versa. Even if someone wants to use their C compiler they could link to a library that used C functions to expose the C++ implementation. > I'm willing to compromise and gen C++ wrappers around the C code I think it should be the other way around so it could be placed in a shared library and linked to from a C program. To me, C++ is just C in an object oriented wrapper so there is no point in wrapping C code with C++ because that is what C++ already does. > BAH HUMBUG! C++ features are really BUGS in disguise. I agree, C++ specific features are buggy (operator overloading, try-catch, etc) and I try to never use them. C++ can be C with a different memory management model, it is really up to the programmer. C and C++ are both crappy and it has nothing to with whether or not its object oriented. It is because there are a million different ways to confuse the hell out of people that have to maintain the code once it is written. Some people use tons of #define macros others use massive hierarchy of include files. Some people use Hungarian notation others don't. Some people use function arguments as return values. I have never seen a C or C++ program that was easy to maintain. ----- Original Message ----- From: "Andrew C. Oliver" <[EMAIL PROTECTED]> To: "POI Development" <[EMAIL PROTECTED]> Sent: Tuesday, April 30, 2002 8:03 PM Subject: Re: C++ Version of POI > On Tue, 2002-04-30 at 20:23, T.J. Mather wrote: > > Well I think there are strong points for C here: > > * Compatility > > * Usage from C applications > > * Support from Andy et al. > > > > I think we can get around the compatibility by using a Portable subset of > > C++. This is what many good C++ projects (Xerces, KDE, QT) do. > > > > *KLUDGE ALERT* > > Thats difficult and requires a lot more debugging. I think wrapping the > C is easier. > > > The usage from C applications is a very valid point. To me this is the > > strongest argument against using C++. > > > > And its insurmountable really. > > > I think the strong points for C++ are: > > * Much easier to port from Java, since C++ is much closer to Java than C > > I disagree. An adequate code generator will make this irrelevant. > Besides any such advantage will be greatly exceeded by increased pain > from c++ portability bug hunting and C++ quirkiness and C++ work > arounds. > > > * Much easier to keep the development trees in sync, and improve > > the Java libraries from improvements in the C++ code. > > C++ is not MORE like Java than C is. They're both different in > different ways. > > > * Much more feature rich language > > > > BAH HUMBUG! C++ features are really BUGS in disguise. > > > I'm willing to compromise and gen C++ wrappers around the C code and > support both but I don't see me moving very far in the direction of C++ > in general. I hate the language. You'd sooner get me to agree to do it > in http://www.digitalmars.com/d/index.html D -- but its not *free* or > widely used so nope. > > I'm sorry I really don't like C++ and think its a bad language that I > hope gets replaced soon. (So appealing to me about its features isn't > going to work) C is good for what it is. I wish we had a decent lower > level widely accepted OO language but we don't. > > -Andy > > > -TJ > > > -- > http://www.superlinksoftware.com > http://jakarta.apache.org/poi - port of Excel/Word/OLE 2 Compound > Document > format to java > http://developer.java.sun.com/developer/bugParade/bugs/4487555.html > - fix java generics! > The avalanche has already started. It is too late for the pebbles to > vote. > -Ambassador Kosh > >