Date: Tue, 30 Jan 2001
> Sounds like, like me, you're a C expert but hate C++.
> Stroustrup should have died in the cradle.
> As for Java, sounds good in principle but I hear it's slow.
That's a fair assessment. C is a great language, with a few avoidable
problems. C++ is a bloated monstrosity, in search of a problem. Generally,
it means showing up with a howitzer to kill a fly. It's buggy, and it is
full of STUPID design decisions. I mean, we work hard to determine what
makes a good, robust language, we get a good handle on it by the mid-1970s,
and then C++ comes along years later, and just plain ignores all of it.
Operator over-loading? Well, there's a wonderful idea! Look, ma, I can make
'+' mean 'subtraction'. Wonder if that will make things harder to debug?
I don't have a problem with OOP, but C++ ain't it. If possible, I'll just
skip C++ professionally, and move on to Java. Java is basically C, with OOP,
and without all the stupid memory tricks, pointer arithmetic and retrograde
features in C++.
Java has all the features that you want, I think, like security, graphics,
portability, etc. The early stuff was strictly interpreted, and it was about
10x slower than compiled C. That's been improved to maybe a 3-5x speed hit
in general, and can be made almost comparable, by using the JIT compile
feature. The speed was my biggest concern, and Java probably always will be
slower than C, but I have to agree that hardware is making speed less of an
issue. I found a site yesterday that is seriously discussing Java for
scientific applications, and you know what number-crunching, speed-dependent
stuff that is. If I migrate from C to anything else, it will probably be Java.