July 12th, 2005, 9:39 am
It's hard to see a 20+ year old language being taken out again for another spin.Java isn't actually all that new.With Java now faster than C++ for a significant set of application types the sweet spot for C++ seemshard to define. What application types are these ?Few fragments of Java code work faster than C++, can't even guess what you mean by whole application types.Predictable execution speed apps, quant apps, system programming, some real time all seem like niches.Err, you forgot shrink wrap applications like Excel, you forgot machine control, you forgot middleware, you forgot compilers, wellerr actually you seem to have forgotten practically everything.But for plumbing an general purpose app development it would seem irresponsible to choose C++ todayPlumbing is still best done in C++, and perhaps you'd like to explain to us what you mean by "general purpose"Perhaps you mean buning a front end on a database, in which case you'd often be better off with VB 6, though I'm warming to C#Java as a DB front ending tool sucks pretty much worse than anything except VB.Net. (because of the volume of free Java, the better tool support for C#/JavaOnly a subset of Java is free, and the development environments are still years behind C++In any case for most developers the cost of the compiler is a tiny % of the cost of development.higher productivity that Java C# teams see over C++. Right...And you've got some objective evidence for this. In real non-trivial projects ?I am astounded an ddisappointed that Java ended up with a generics solution that seems flawed.I'm not surprised, though a little disappointed.Java is controlled by a hardware company, not by the development community.I think C++ envy was possibly a driver for the generics feature.Indeed.I envy people who are smarter than me, so presumably do the people behind Java.The defect is quite possibly the cultures of the two groups. C++ guys want to get the job done. The Java team want to look cool.Thus some parts of C++ are ugly but effective, whereas Java is prettier but often can't step up to the job.No doubt the shortcomings will be fixed. You really need to read up on language evolution. It takes a long time for a language and it's tool set to mature.You think 20 years old makes C++ bad, you'll know that you understand this stuff when you fell embarassed that you wrote this.