> Conceptually, Java is really a replacement for C++. As gcj proves, Java > is really just C++ with cleaner syntax, and all the C backwards > compatibility baggage, cruft, misfeatures, and hacks removed. I agree that Java is more related to C/C++ than COBOL. I don't know any Java developers that got their start in COBOL. I relize companies are sending COBOL programmers to training by the zillions, but I don't personally know anyone that has actually made the leap. COBOL and its typical platform is just too different than Java and other OO languages and their typical platforms. I think the COBOL developers are still mostly doing COBOL. There's plenty of it still. I have even read articles making a decent argument that COBOL is better than general purpose languages like Java for enterprise applications. On the other hand, I know all sorts of Java developers that also do C/C++. It's a natural transition. I've been involved in more than one C to Java conversion project, but I have not been part of a COBOL to Java conversion project. However I dunno if I would go as far as to call Java "C++ with cleaner syntax". While Java is syntactically like C++, developing with it is nothing like developing with C++. The garbage collection, runtime metadata, standard class library, modern Java IDEs, etc make it a whole different experience. > Really there's three parts to java, that really need to be made clear: > > 1) Java, the core language. As I mentioned above, I feel Java is just an > evolution of the C/C++, and beats the hell out of them for application > development. Couldn't agree more. > 2) Java, the class libraries. The value of a language often depends more > on the libraries available to build on, than on the language itself, and > Sun knew this. Java allows rapid development because SO much stuff is > already done for you. For example, the collections API. On the other > hand, many parts of Sun's API's suffer from severe over-engineering. > Bleh. Yeah, Java reminds me of Perl in that way. There's is a huge active community producing all sorts of cool useful stuff that is easy to assemble. C++ doesn't have the same thing, partly because the ANSI library was late coming and thus everything did things in incompatible ways. > I think Java's biggest crock is its severe xenophobia, in the name of > cross-platform compatibility. In order to call any non-Java libraries, > you have to go through the slow ugly JNI interface. This is a huge > disadvantage in the open source world, with its large existing body of C > libraries and infrastructure. This also extends to, despite Sun being a > Unix vendor, for some reason Sun went to great lengths to make Java > incredibly NON posix-interoperable or even the least bit posix-friendly. > This has really killed its popularity in the open source world. I have done JNI and .NET interop and I have to agree that its a lot easier with .NET to talk to native C code. That is also one of C++'s strengths. It is really seamless to integrate C++ code with 3rd party C code. > Java's been around for what, over 8 years now, and the open source Java > runtimes have only recently become even the least bit usable. Whereas > Mono development has outstripped Java in half the time, plus C# seems to > not have the 'xenophobia' problem. I understand C# lets you call C and C > ++ libraries directly without any have-to-write-a-wrapper bullshit. Java > is probably going to lose out to C# as the future native application > development language in the open source world. The speed of Mono's development has really took me by surprise. _______________________________________________ TCLUG Mailing List - Minneapolis/St. Paul, Minnesota Help beta test TCLUG's potential new home: http://plone.mn-linux.org Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery tclug-list at mn-linux.org https://mailman.real-time.com/mailman/listinfo/tclug-list