Jean said:
As I already said, I belong to this very small (and not very
vocal) minority that happens to think that Un*x + Java is a
wonderfull setup for a developer (most Java developer use Windows
and most Un*x users have a grip with Java not being true
Open Source Software).
You are mixing Linux programmers/FOSS religion and Unix programmers.
From my observation, the grips of Unix programmers (not Linux
programmers) with Java are often just the typical Java problems (slow
startup, lack of desktop integration, etc.).
Some, like slow VM ,startup are particular annoying on Unix, when e.g.
writing tools, because people are used to small, quick starting tools
like grep, awk, sed, etc. And it is just not acceptable having to wait a
few seconds for a simple text filter to start up.
In addition, Java is not very well suited for system programming in
general, but a lot of Unix programming is system programming. A lot of
Unix system calls and library functions are only accessible via JNI
code, which makes system programming with Java annoying.
This is not only a problem for system programs, but also for end-user
applications, where you often have to re-invent the wheel. Which is
particular annoying when you know Unix well enough to know that there is
a standard API, but you just can't get access to it from Java in a
straight forward way.
It gets really annoying if you have to communicate in some way with
existing Unix applications, and have no choice over the communication
mechanism. I am just having such a problem. I have to talk via TI-REC
with FDR messages to an existing application. This will definitely
become a C or a C++ application. It is just so much simpler to run the
existing *.x XDR definitions through rpcgen to get C headers and stubs
than trying to get a working Java API for that on (oh, I am sure there
is one, but I don't have the time to search for one, and figure out all
its shortcomings).
I know I will have to pay a price for using C (no standard collections,
memory leaks, dangling pointers, the full show ...), but it still seems
like the smaller risk in the particular case.
/Thomas