On Wednesday, March 6, 2002, at 11:44 PM, Ian Clarke wrote:

> On Tue, Mar 05, 2002 at 02:34:40AM +1300, David McNab wrote:
>> Re-code the whole fucking thing in C or C++ !!!
>
> You seriously believe that writing software in C++ is faster than
> writing software in Java?  I have never met anyone equally familiar with
> both C++ and Java who would agree with you.

based on my experience, the Java vs. C++ debate boils down to 
development vs. use.

The main project I'm currently involved with (see my sig) is in it's 3rd 
main development stage.
1st. stage was a primitive design in C. Then we redesigned everything, 
and did it in Java.  We used Java
because it is great for rapid prototyping (especially if you are 
familiar with the standard
classes and toolkits).  A lot of experimental code in our computer 
science department (UMass)
is done in Java.

We decided to do a small redesign, and also moved to C++. The main 
reasons were:
        1. With a small amount of effort, you can write C++ code that works 
better accross various
                platforms (especially Unix, but also Windows with Cygwin or 
MingW) than Java works
                across various broken VM's.
        1.5.  You have to jump through hoops to actually run Java programs.
        2. C++ is the most widely known and used language out there:  more 
developers.
        3. Lots of great tools for working with C++ code.
        4. Much larger selection of Free libraries, toolkits, APIs.
        5. More stable language specs: we were working with Java right on 
the cusp between Java 1 and Java 2,
                and it was irritating. At this point, gcc has good stable 
support for exceptions, RTTI and the STL,
                and our project pushes some limits of these new features (esp. 
RTTI).
        6. C++ had features we wanted: Multiple inheritence, dynamic 
cast/RTTI stuff.
        7. Most importantly: performance.

Some downsides to C++ are:
        1. memory management -- or lack thereof (we do it by reference 
counting all objects).
        2. some knowledge of internal language workings is required (and 
such esoteric features as references vs. pointers, virtual vs. non 
virtual methods, const vs. non const stuff, etc.). Java is easier to 
learn (and learn well). This is the power of C/ease of use of Java 
trade-off.
        3. the "header/code file" legacy of C programming in general. (As 
opposed to Java's independent class files: very convenient)




--

Reed Hedges
reed at zerohour.net
http://zerohour.net/~reed

Virtual Object System -- Internet Virtual Reality:
http://www.interreality.org

The owls are not what they seem.



_______________________________________________
Chat mailing list
Chat at freenetproject.org
http://lists.freenetproject.org/mailman/listinfo/chat

Reply via email to