> I don't see Java as "glue" because it portrays integration with > non-Java as anathema.
It favors portability, which means that the abstractions have to be portable. No reason why you can't have glue classes using JNI to call things, but I would expect whatever is part of a standard distribution to be portable. You mentioned zlib and bzip2, amongst others. > I just discovered that somebody wrote a bzip2 implementation > in Java rather than use an existing codebase. javax.util.zip.Inflater and javax.util.zip.Deflater are native code (zlib, IIRC). I don't see why the same approach couldn't have been done with bzip2; the library code is portable. Perhaps they wanted to reduce the support burden of having to provide binaries for each platform. I wonder if they benchmarked the performance difference. With respect to DBM: http://aurora.rg.iupui.edu/~schadow/dbm-java/. > even simple things like querying the system for the name > of a user String user = System.getProperty("user.name"); > and the groups the user belongs to. public class grouptest { static public void main(String[] args) { System.out.println("User " + System.getProperty("user.name") + " belongs to " + System.getProperty("user.groups")); } } $ /usr/local/java/bin/java -cp . "-Duser.groups=`groups`" grouptest $ sudo -u <user> /usr/local/java/bin/java -cp . "-Duser.groups=`groups`" grouptest Dynamic queries and updates could be exposed through a JNDI service provider, which is how I believe that it should be exposed (an alternative would be to just run the *nix commands via Runtime.exec). People just don't give JNDI the weight that it should have. Most think of it as an alien concept used to connect to corporate directories. I'm doing a presentation on JNDI in November discussing this subject. I'm not saying that Java is perfect; just pointing out that there are solutions, and that the "WORA" emphasis on portability promotes different ways of approaching a solution. --- Noel --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
