Oracle and the Java Ecosystem
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."
Talk is cheap.
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".
Compared to other development platforms (eg. MS C++, C#.NET etc) the influence of Oracle is less important than many people may think. Basically the OpenJDK is more important than Oracle's commerical offering (the successor of the Sun JDK - which is very similar to OpenJDK as they have almost all source code in common). But even if this were not the case the Java 'world' has a lot of alterantives: the IBM JDK, GNU GCJ, Apache Harmony. This means that Oracle can try throw its weight around but it is not as devastating as Microsoft would be in the .NET world. This is one beauty (for end-users/developers) with the Java ecosystem.
That OpenJDK could just get the lion share of development and mindshare. If LibreOffice can functionally replace OpenOffice there's hope for OpenJDK. Unfortunately LibreOffice had years of a head start on that front (functionally go-oo, etc).
I would say the majority of Slashdot readers using Java do so in an enterprise environment. The Java Enterprise Edition (JEE) specification is controlled by the JCP, where Oracle has heavy influence. JEE application servers adhere strictly to this spec.
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.
I do not fail; I succeed at finding out what does not work.
Seriously, unless you are doing something weird, reasonably OK written java app would run under any platform. There might be some small issues, but cross-platform apps with Java are much much much easier to write than cross-platform apps with anything else.
--Coder
Except it's *always* been "least common denominator". For example, Java runtimes have never supported the Windows named folders. (Basically, they hand you the Roaming App Data folder, tell you that's "home" and you're stuck with it-- there's no way of fetching other named folders or even taking the value it gives you and reliably finding the Documents folder using it.
Basically, they took the bare minimum POSIX features, assumed that was all you need to support every OS ever, and implemented it with that assumption-- even though those assumptions are completely wrong in Windows. (And Mac Classic, but that doesn't matter anymore.) Due to this, it's virtually impossible to write a technically correct Windows application in Java.
Comment of the year
All depends on what you're doing with it. I work on an enterprise level webapp written 100% in java and we have deployments on Windows, Linux, Solaris and OSX-Server using the EXACT same code base and this is an app with over 1000 classes and 250k+ lines of code.
But Java went on to run back-end server and enterprise systems, and there it really doesn't matter because people engineer for specific hardware.
Actually, that's precisely where I see the "write once run anywhere" in action. I have been developing server-side code for about a decade, and I have always done my development and testing on Windows, but deployed to either Linux or Solaris, without any platform problems whatsoever.
IMHO, the involvement of Oracle would be enough to make me avoid Java even if I liked the language. Developing applications is stressful enough without having to worry about what Larry Ellison might do.
And I don't like the language either. The nature of its widespread use only strengthens my feeling it is the 'new' BASIC, a dead-end educational toy that is used far beyond its capacities. Worse, this has gone on long enough for its oversimplified world view to affect what often masquerades as "design". Stitching together great steaming piles of independently mutating libraries doesn't seem to produce good applications, does it?
A couple more things to preempt the fanbois:
No, Java is not fast. Java is a programming language. Virualized RISC machines can be fast within their own arenas and a lot of good work has gone into JIT compilers and the machines running underneath "Java". The claim does nothing but reveal your lack of knowledge and perspective.
And no, grunting out low-content scripts for a few years does not make anyone a designer or an architect. Building kludged-together boxes using Lego blocks doesn't make you a civil engineer or an architect either.
Bent, folded, spindled, and mutilated.
You do realise Google are in trouble because they couldn't licence J2SE for phones (Sun/Oracle wouldn't allow it), J2ME is too limited for what they wanted to do and so Android is NOT based on it.
This is the direct fallout of Sun's policy of barring J2SE use on mobile by withholding the tools needed to certify it.