Oracle and the Java Ecosystem 157
First time accepted submitter twofishy writes "After an undeniably rocky start, which saw high profile resignations from the JCP, including Doug Lea (who remains active in the OpenJDK), and the Apache Software Foundation, Oracle is making significant efforts to re-engage with the wider Java ecosystem, a theme which it talked up at the most recent JavaOne conference. The company is working hard to engage with the Java User Group leaders and Java Champions, membership of the OpenJDK project is growing, and the company is making efforts to reform the Java Community Process to improve transparency. The firm has also published a clear, well-defined Java roadmap toward Java 8 and Java 9."
*Yawn* (Score:5, Insightful)
jigsaw (Score:4, Insightful)
seeing what's happening on the modularization front i'm afraid it'll be just like the fiasco with log4j and jdk logging which came afterwards. modularization is what java applications (well, backend servers powering too complex enterprisey-apps) need, and that should be achieved through the means of easy to use osgi tools instead of yet another (sun|oracle) screwup mimicking an "oss standard".
I wish ... (Score:5, Insightful)
Oracle matters more thank you'd think (Score:4, Insightful)
Sounds promising (Score:4, Insightful)
It should be readily apparent from my own open documentation and planning approach for MSS Code Factory and Singularity One just how much I believe openness to be CRITICAL to running a modern technology endeavour. The days of closed door development and the sudden release of new technology products is not only disruptive to the industry and employment, it's a fundamentally wrong-headed approach to someone who believes in the GPL ethos as I do.
Kudos to Oracle for realizing the way they were handling things was going against the principles of the way Sun had originally configured the Java community.
Re:Oracle matters less thank you'd think (Score:4, Insightful)
Adding unsigned types to the language would add very little value, but it would add at least some value, so I won't argue with that one.
Not having unsigned types is probably the second dumbest decision in Java's design, after compulsory garbage collection.
Sure, you can work around it by using larger data types (e.g. short when you really mean byte), but it's a real pain when interoperating with code in other languages.
It's write once run everywhere with small niggles (Score:5, Insightful)
--Coder
Re:Oracle matters less thank you'd think (Score:2, Insightful)
Of the alternatives you list, only the GNU GCJ is not shut down. Apache Harmony has been discontinued (retired to the Apache attic http://attic.apache.org/projects/harmony.html) and IBM has pulled their Harmony committers to OpenJDK instead (http://www.sutor.com/c/2010/10/ibm-joins-the-openjdk-community/).
Re:Oracle matters more thank you'd think (Score:2, Insightful)
I would say the majority of Slashdot readers using Java do so in an enterprise environment.
I would say the majority of Slashdot readers using Java do so in class.
Re:Oracle matters more thank you'd think (Score:3, Insightful)
Re:Oracle matters less thank you'd think (Score:4, Insightful)
Personally, I think the use of an explicit boolean to flag the "not found" condition makes the code much clearer. That's actually one of the main arguments against unstructured use of GOTO. The code is generally more readable and maintainable if you don't use GOTO. In your Java example, it is quite clear, even without looking at the loop code, that the code after the loop will only execute if the item is not found. This is not clear in the C/C++ example using GOTO, where it is necessary to look at the loop code to understand the code that follows it.
Obviously this is a simple example, but it does demonstrate how an unstructured jump provides at least a little obfuscation, where a more structured approach provides clarity.
The Python case just looks odd to me. There's nothing about a loop construct that necessitates an "else" condition. Obviously, I understand what you're doing in that example thanks to the previous two examples, but if I were to just look at the Python code on its own, I'd be at a loss to figure out what the "else" even means. Logically, the "else" should belong to the "if", which would indicate that the string literal would be printed each time that X was not equal to 12 (meaning it prints 10 times). The indentation suggests that it belongs with the "for", but given that "for" is a loop construct, not a conditional construct, what does "else" even mean in that context? It's very bizarre.
Basically, I can see some (limited) value in the construct, but I disagree with that implementation.
Re:Linux Distros and Android. (Score:2, Insightful)
You do realize that J2ME (what Android uses) is the primary source of revenue for Java, right? It's why the patents are royalty free for J2SE and J2EE, but not for J2ME. All those featurephones pay to have that little-used JVM on them.
So yeah, Google can license J2ME from Oracle, but not for free, otherwise Java really would die because it won't make any money at all.
Of course, if Android implements full J2SE (using OpenJDK), then all that patent nonsense goes away because it's under the free patent licensing...
Re:*Yawn* (Score:4, Insightful)
... java is history, so to say.
No, it's not. And the reason it's not is because it's already entrenched. Hell, just last week [tiobe.com] it was reported that Java was still the #1 language being used; it's certainly not disappearing anytime soon. Oracle will get it right, or face hundreds of pissed off businesses and governments.