Slashdot Log In
IcedTea's OpenJDK Passes Java Test Compatibility Kit
Posted by
timothy
on Thu Jun 19, 2008 02:04 PM
from the oh-joyous-day dept.
from the oh-joyous-day dept.
emyar writes "At JavaOne in May, 2006, Sun Microsystems announced they were going to release Java as free software under the terms of the GPL. The size of the task (6.5 million lines of code) was only eclipsed by the size of the opportunity for Java as a free and open technology. [...] This week the IcedTea Project reached an important milestone — The latest OpenJDK binary included in Fedora 9 (x86 and x86_64) passes the rigorous Java Test Compatibility Kit (TCK). This means that it provides all the required Java APIs and behaves like any other Java SE 6 implementation — in keeping with the portability goal of the Java platform."
Related Stories
Firehose:Java is finally Free and Open by Anonymous Coward
[+]
Sun's Java Will Be Free This Year 274 comments
Ian Whyde notes that Sun is finally coming to the end of its struggle to open up Java completely. Simon Phipps, the chief open source officer at Sun Microsystems, said: "There were a couple of holdouts there. One was the area to do with raster graphics and 2D graphics. That turned out to be owned by a company that didn't want us to release that code as open source. We negotiated with them and because they've said 'yes, you can open source the code'... The only element that's left now is actually a sound-related component within Java. We finally decided that the vendor that's involved there just isn't going to play ball and we're rewriting the code from scratch. That's going to be done within the next couple of months." In another sense the milestone of a free Java was reached this week when IcedTea passed the rigorous Java Test Compatibility Kit.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Mono needs a similar testsuite. (Score:5, Insightful)
Maybe you don't understand .Net? (Score:5, Informative)
Right now on my dev box I have 4 versions of
They run side-by-side without issue.
There is no forced upgrade. It's like saying that C wasn't predictable because C++ emerged.
Parent
Apple (Score:5, Insightful)
Re:Perfomance (Score:5, Informative)
Parent
Re:Perfomance (Score:5, Funny)
Although 4% doesn't sound like much, it's actually just short of 8 billion lines. It sounds unbelievable that they could accomplish that so quickly, but Java's strength is in making it easy to write large amounts of code.
Parent
Re:Perfomance (Score:5, Informative)
Parent
Re:bfd (Score:5, Interesting)
What is it that is "wrong" in the platform? The fact that the base implementation is solid enough that few others found need to rewrite that wheel?
Parent
Re:bfd (Score:5, Insightful)
Parent
Re:bfd (Score:5, Informative)
Parent
Re:bfd (Score:5, Insightful)
Which it is.
Could it be improved? Sure it could...name a single software product that couldn't be. But there are many billions of dollars of IT projects that depend on Java, so trying to pass it off as immature, incomplete, incorrect or insufficient is nonsense.
Parent
Re:bfd (Score:5, Informative)
Actually, Sun's own codebase and a 4-5% of rewritten code passes Sun's compatibility suite.
TFA is about that 4-5% which was encumbered by patents (? the article doesn't go into details) and has been rewritten to make all the JDK free. That should be enough to finally get Debian include Java in their distributions.
Parent
Re:bfd (Score:5, Informative)
If after more than a decade, there is not a single, independent, compliant Java implementation, then there is evidently something wrong with the Java platform.
There has been multiple compliant java-implementations for years now.
IBM's JDK (which is their own codebase).
and ORACLE's JDK (BEA JRockit)
both of which passed the Java TCK and can claim Java compatibility and compliance.
As for performance, the OPENJDK is based primarily on SUN's JVM code, hence it has the exact same optimizations (same HOTSPOT, and etc). Only a small majority of the code was replaced with open source alternatives which doesn't affect performance.
Parent
Re:bfd (Score:5, Insightful)
Have you considered that Java is almost like writing an OS? A runtime byte code, compiled form multiple source languages. Almost every service of an OS provided in a portable way. (eg, sound, video, graphics, multiple portable widget toolkits, network access, file access, system tray access, and the list goes on...)
GNU Classpath is mostly compatible now. Much like Wine.
Parent
Re:Really ? (Score:5, Funny)
Man! Was that joke ever funning circa 1997...
Parent
Re:Really ? (Score:5, Funny)
Man! Was that joke ever funning circa 1997...
Parent
Re:Really ? (Score:5, Insightful)
At least, if I had to guess, that's what I'd say.
Parent
Re:Really ? (Score:5, Insightful)
Maybe it has more to do with the skill of the developers than anything else.
Parent
Re:Really ? (Score:5, Funny)
Parent
Re:Really ? (Score:5, Funny)
The One True Language, beloved by all (Objective-C) also uses 2 GiB of RAM for "Hello World", but just because it needs to use that memory to cure cancer and feed starving children.
Parent
Re:Just use a glove (Score:5, Informative)
OpenJDK came to surface due to pressure of the OS community, to be to fulfill OS purists' ideals. For example, being able to embed the JDK into OS Linux systems.
OpenJDK is an effort backed up by Sun also, so that is no impasse here.
This is great news! I can see faster and greater improvements coming to the JDK having it open.
Parent
Re:Language Compatibility vs. Class Libraries (Score:5, Funny)
> of important use cases, redesigned the class libraries to be much less "fluffy"
Somebody did just this [python.org] already.
Parent
Re:Language Compatibility vs. Class Libraries (Score:5, Insightful)
Parent
Re:Language Compatibility vs. Class Libraries (Score:5, Insightful)
Logging is a quasi-identical to Apache's log4j, indeed this caused bad feelings among log4j's authors who felt Sun should just have officialized their API. Of course the reason Sun used it as an (ahem) inspiration is that it's very good, as demonstrated by the absolutely huge number of projects using it. And you know as well as I do that rolling out your own is a common developer trait, *especially* for trivial things like that.
NIO is brilliant. If it's too complex or low-level for you, just use the "old IO", which is *also* good - just not as low-level.
Swing, I can understand your feeling. Although the real problem with Swing is not "bloat" as in unnecessary complex and featurefull, it's that even though it only shipped in a JDK with 1.2 (which had the Collection framework), Sun bowed to short-sighted morons who kicked a fuss when it was suggested that it be put in java.swing (instead of javax.swing), and as a result still uses the old Vector and so on.
Generally speaking, what you call "bloat" is due to:
- the presence of libraries *you* don't use. Guess what, other people do.
- the provision for extensions. For instance, the java.net package is chock full of factories, abstract classes and interfaces that you seem to disdain. And indeed to 98% of developers who just use it for the net, that's all pretty pointless. The upshot is that should you require Unix or X25 sockets, you can still use the same API - I've seen it done. Sure you have to write the C code, but the Java code is all the same except the bit that gets the address. How many open-source language don't even have a common low-level DB API, forcing you to write you own single use abstraction layer when you need to target several DBs? At least with Java you know it's JDBC. Always.
Sun's attitude towards libraries has always been, as far as Java is concerned at least, make the simple easy, make the difficult possible. To me that's good design. Of course it means that easy can be more complex than with more specific APIs. But those tend to not allow the difficult at all
Parent
Re:Language Compatibility vs. Class Libraries (Score:5, Informative)
If the code you posted is the best obfuscated Java code you can come up with, then I'm impressed. I've seen MUCH worse Perl, C, and even Python. Your code was at least understandable (albeit unnecessarily obtuse), thus demonstrating the unexpected readability advantages of the Java language.
P.S. Import statements are your friend.
Parent
Re:Ask Slashdot (Score:5, Informative)
It's mostly written in Java (the language), by the way.
By the by, reading that first link made my brain hurt. When is GNU going to learn that the language of doom ("shackled," "trap," etc.) is a good way to ensure that you preach only to the choir?
Parent