[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Java woes on compatibility



Vladimir Z. Nuri writes about Java compatibility:
>
>unfortunately, this same story happened with Unix and C such that the
>libraries out there did not fully adhere to a standard, even when the
>standard went into meticulous detail.

Actually, much of the meticulous C and Unix detail described the permitted
loopholes. For example, there is no definition of <newline>, which is 0x0D
<carriage return> on Mac, 0x0A <line feed> on Unix, both on DOS, and neither
on VMS (it's a record boundary in the simplest case, and don't ask about the
complex cases). Look, if VMS is "Posix-complient," which it is, it can't be
a really robust specification, no matter how meticulous.

Java goes into great detail to define floating-point representation,
to take one example, and the "end of line" sequence is a system parameter,
rather than a static character.

> is it the same insurmountable
>problem all over again? can there ever really be a totally portable
>language?

Yes, but it won't solve many interesting problems. Java is a good
balance between portability and capability.

>
>what's the solution? it hasn't been implemented yet, but I believe the
>solution is an extremely sophisticated verification package for the
>correctness of the Java language.

Check out the 100% pure program that you can download from JavaSoft.
Look at <http://www.javasoft.com/100percent/> Their static verification
package is free, along with a programming guide. (You have to pay for
dynamic testing and certification.)

> this type of idea is hinted in the
>makefiles of some C programs that compile based on complex attempts
>to avoid/workaround portability glitches.

Been there, done that (look for the Decus-CPP Preprocessor I did in the
mid 1980's, or my Lempel-Ziv implementation for VMS). Preventing problems
by design is a better approach.

>
>note that some people think that you should have a certification process.
>I don't like this at all because then the verification tools are caught
>up inside the Java company when it makes sense to *distribute* these tools
>so vendors can debug their own software without going through a
>bureacracy to get the stamp of approval. the verification suite is actually
>an extremely powerful utility that can test Java conformance and should
>be available to anyone trying to support the standard.

Again, the 100% pure test package is freely available. Sun does, however,
charge for stress testing, which runs the application on a number
of Java implementations.

>
>if anyone from Java/Sun is listening, I would be happy to consult on this.
><g>

Sun is hiring. Check out their web pages.

Martin.
[email protected]