> 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