Java's Backup Plan If Oracle Fumbles
GMGruman writes "In an InfoWorld blog, Paul Krill suggests that those concerned that Java might get lost in Oracle's tangle of acquired technologies should relax a little: Java's future isn't wholly in Oracle's hands, so if Oracle screws up or lets Java languish, the popular language has other forces to move it forward nonetheless."
... when being owned by Oracle?
It is the universe that makes fun of us all.
I don't think that Paul Krill has realized yet that Java is absolutely dead for new development. Sure, there'll be Java-based software around for decades. Just because people aren't using it for new development doesn't mean the billions of lines of existing Java code will go away.
However, we're seeing absolutely no innovation coming out of the Java community. Sun's lack of vision over the past decade has rendered Java far behind languages like C#, Python, Ruby, and even Perl. The JVM is an absolute mess compared to .NET, of all things.
Yeah, I know, we've seen Scala and Clojure, but they're rather shitty and impractical for large-scale real-world software development. Clojure is just a reimplementation of one of the oldest programming languages around, Lisp. Scala has interesting ideas, but they're thrown together with a gawdawful syntax that makes maintainability a nightmare.
These days, we're using languages like Python, Haskell, and Erlang to get real work done. Java just doesn't cut it any more.
This article will be the perfect one to start my little Flame War and abuse my precious, well-undeserved mod points to distort the conversation, downmod logical arguments to HELL and give rise to the brainless mob, thus poisoning the global Karma and drive the masses towards the unavoidable conclusion of my ultimate plan, and finally achieve TOTAL WORLD DOMINATION!!
Oh, wait...
Oracle uses Java for supporting it's bread and butter database.
The Universal Installer is written in Java as are a number of other tools.
It would cost Oracle millions of dollars to rewrite these tools if they killed Java.
They could still kill Java but it it would not be an easy decision for them to make.
The article fails to mention Google, certainly one of the big players and evidently a big supporter of Java. There's GWT, there's Android, they really push hot stuff onto the dusted platform.
IBM was also not mentioned, another huge company that really pushes Java forward - although in a direction I personally don't like.
If you weigh more than 400lbs and have Aspergers and you can't get laid and the only job you can get is cleaning out Supermarket trash then you are a java programmer. Meanwhile winners use C#.net Professional.
Which is pretty much Visual Basic with Java syntax. I find Java source code a tad easier to read and Javadoc make C#'s cumbersome "compiled comments" look silly. Does Java still have checked exceptions in common use? In that case I envy you guys. Scratching my head over which exceptions can spew out of a library is annoying, even if checked exceptions can be annoying at times too.
Oracle will not let Java languish, they need Java to exist because it's part of their ecosystem now whether they wanted it or not. It's a lot easier to connect to an Oracle database using Java than it is with .NET, and Oracle really doesn't want .NET to win since MS SQL is now a viable alternative(and substantially cheaper) than Oracle for all but the largest of data sets.
The issues for Java are either Oracle getting into a fight with IBM and resulting in a fork of Java or distrust of Oracle pushing a critical mass of developers away from Java and onto .NET. As to the first, Oracle has to suppress their natural desire to charge like wounded bulls for everything they own, and try not to interfere with the JCP much at all, which is a big ask really. For the second, it's already starting to happen in certain areas. There are shops out there who have spent an awful lot of time and money getting Oracle out of their DC and they don't want it back again.
There have been many discussion about multi-core processing being the way forward as we have already, more or less, reached the limit of what can be done with a single processor. Multi-core and multi-processor methods are expected to transition to multiple cores. At the moment, we have the core OS managing processor time on multiple processors but that's not the efficiency that has been imagined even it if it helpful and yields good results. So what about Java? The language itself is of the classical variety. The "interpreter/VM" of Java is what runs the code, but I haven't seen or heard anything in the way of it advancing to take advantage of multi-processor platforms.
Is Java doomed to get stuck behind in the single processor world or will it actually pave the way forward by running its VM across multiple cores?
Java, while widely used is on the down slide. There really hasn't been any new revolutionary additions to the language in about 7 years. In another 10 years, it will become like COBOL is to IBM.
In a rare fit, I actually read the TFA (I know, I don't know what I was thinking), and it leaves with the feeling that Paul is concentrating on the wrong argument...
He appears to be arguing that third-party vendors control Java through the development of their frameworks and tools. While most modern-day development is relegated to gluing together frameworks instead of actual programming, I think this misses the point in the same vein as when people talk about JEE being Java.
Java is a language upon which these frameworks and tools are built. For all of the good things Sun did for Java, they had a tendency to take the path of least resistance when it came to fixing existing features and adding new features to the language. If Oracle continues the trend, or does a worse job of it as many are predicting, third-party vendors will lost interest in developing these wonderful toys and will move on to other languages that are better supported.
I for one, abhor the ownership of Java by Oracle. Sun had a tenuous grasp on it through its design-by-committee approach, and I have no reason to believe that Oracle will improve on that approach given its history. Java had some wonderful ideas behind it, but I for one have been transitioning my investments over to alternate languages that have caught up and, for the most part, surpassed Java in functionality.
Well, that's my two cents and my cat agrees with me. So there.
Oh wait, i thought this was a poll.. Nevermind.
---- Booth was a patriot ----
Java, while widely used is on the down slide. There really hasn't been any new revolutionary additions to the language in about 7 years. In another 10 years, it will become like COBOL is to IBM.
Don't knock COBOL.
I know a couple of folks who are making a nice living as a COBOL programmer. And they're not that old. AND, when the majority of the IT market craps out, they always seem to have or can get a job. That's something not many programmers can claim.
RIP America
July 4, 1776 - September 11, 2001
Go away, lying revisionist troll.
The lawsuit in 1997 against Bill's Microsoft by Sun was about contract violation. Microsoft had a contract to distribute java, not their own proprietary version of java, but bona fide java true to the published specifications. The allegations, proven in court, were that Microsoft aimed to harm to Java platform, violated the Sherman Act by illegally monopolizing and illegally maintaining aon the Intel-compatible PC OS market and the web browser market and the office productivity suite market. Microsoft was also illegal tying products, and illegally entering into exclusive dealing and exclusionary agreements (violation of Sec 1 of Sherman Act), and engaging in copyright infringement, and restraint of trade and unfair competition. It was also attempting to illegally start a monopoly in the server operating system market.
Not only do you Microsoft toads ruin the economy, you make the net more expensive and create security problems. It'd be just fine if DHS started checking hard drives during entry or exit at the US borders and nuked any and all NTFS partitions they find. HFS, FFS, UFS, or EXT would be put on instead. Give a few months warning first and hand out Fedora CDs to those getting a warning. Then after the deadline, bam.
Beta is broken and the link to classic doesn't work. Stop wasting our time or there won't be anybody left here.
Java vs. Microsoft movie trailer
The java language isn't that important to develop any further.
It is the platform that matters and the platform will live on long after java the language goes into decline.
Currently the successor to java looks to be Scala.
http://www.scala-lang.org/
Scala compiles to java byte code, so standard java libraries will work just fine.
It is type safe (unlike ruby and groovy)
It performs about the same as java code
If you are a java developer, I will highly recommend getting "Programming Scala"
but who will release, in a timely fashion, the important Java client updates to patch holes in the existing code?
We have java swing code that runs on window, linux, and os-x. We use a custom look-and-feel so things are consistent. Ok, the one-button mouse is a pain.
We java backend code that runs on intel (windows/linux), powerpc, and arm. I routinely deploy and test on linux-x86 and deploy to powerpc and arm targets with zero problems.
Oracle will not let Java die. It needs Java for a lot of its applications plus other company's need Java so stay alive. I was just at a customers just recently that runs Novell and the entire infrastructure is OES Linux and Free Suse. All most every desktop tool and web tool was Java based.
http://www.thetechnologygeek.org
Yes, Java core language is stagnating. Even JDK7 has not much new features.
Java does have a nice ecosystem of libraries, but by now we've explored about 100% of what can be done in libraries without changing the core language. But there are limits, and a lot of things are just not possible to do in libraries.
For example, java.util.concurrent library is quite nice. But it's rather clumsy even with the planned closures support, any parallel algorithm is quickly drowned in the clutter of anonymous classes. In comparison, Parallel LINQ in .NET is much easier to use.
Or take QueryDSL as another example - it allows to build nice typesafe queries, but it's not really feasible to use it to query simple collections because of huge runtime overhead. While LINQ works just fine.
Reified generics in C# also make a lot of things MUCH nicer.
What about the prospect of having to pay for Oracle Java? The client would continue to be free (JRE) but if you want to compile code it will cost you. How would Java fair if there was a $100 developers license?
Certainly the open source Java compilers would gain a significant foothold, but with Oracle steering the JCP it seems likely they would eventually corner the market...
Eric Sarjeant
eric[@]sarjeant.com
Dalvik, and the language used are VERY similar to Java and the JVM. The libraries may be different, but Android appears to be a major platform. If nothing else, Android will be around, and can probably be coded into a very similar to Java platform.
Really? I don't know what planet you're on, but here on planet earth, much of the real work is being done in Java (by a very wide margin). (See http://www.langpop.com/ ). .Net languages.
Haskell and Erlang are barely a blip on the radar. I like and use Python regularly and it has it positives, but I have a hard time recommending it to my corporate customers (for various reasons having to do with availability of trained developers, performance and or broad industry support). By and large most work I see getting done is being done in Java or
I can see why you posted as AC since clearly this was intended as flamebait.
Sometimes the light at the end of the tunnel is the headlight of an oncoming train.
Nobody is owning java. Maybe oracle owns the java trademark. Java is owned/supported by millions and millions of java developers and supporters worldwide. If anybody thinks of killing or undermining is just making fool of themselves.
Java was never in the hands of any one company, not even Sun- because Java (both language and frameworks) is controlled and evolved using the JCP (Java Community Process).
There are a variety of companies on the various panels so any one company cannot hijack (or kill) the language or platform.
That was always part of the strength of Java, instead of going through a more hidebound standards body they created one specifically for Java, run by the people of the Java community.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I read TFA and I didn't see anything about "Java's Backup Plan". I'm not sure anyone really has a plan per se.
But I will say that Java has enough momentum now that if Oracle really does a poor job of managing it, Java can and will be forked.
The history of XFree86 shows that when the leadership of a project stop leading effectively, the community can and will fork the project and abandon the old leadership.
In the case of XFree86, it was Keith Packard's X.org fork that made the original irrelevant. In the case of Java, I predict it would likely be Google that would lead the forking effort.
Google likes Java and runs much of their business on it. When you do a Google search or use Google maps, you are using server-side Java code. When you run an app on an Android phone, you are running Java code.
You might have heard that the VM in Android is called Dalvik. When Google made their plans for Java on Android, they made their own VM which is Java-compatible (in features, although not bytecode-compatible). They also provided a tool that can take a compiled Java program and swap the bytecodes around to make a Dalvik program. In this way, Google leveraged the development tools available for Java, while avoiding making any deals with Sun. Google paid nothing, promised nothing, and didn't even need to ask permission.
Of course Dalvik was originally based on Apache Harmony, a free software project to make a Java VM. The Apache project felt that Java was insufficiently free, and you could call Harmony a fork. So far it is a fork intended to be feature-compatible, and nobody is talking about adding new features to Harmony that Java doesn't have. Yet.
With James Gosling gone from Oracle, it may be already too late for Oracle to continue leading the direction of Java. Or it may not be quite too late. But if Oracle does anything that would displease the Java community in general or Google in particular, watch out.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
I keep wondering why people forget about Big Blue these days. Java and Linux support are the keys to their offerings and both are said to save mainframe/big server business of them.
Eclipse is Java too. A lot of IBM applications, even client side stuff relies to Java.
Lets not forget Google Android which is a huge success is enhanced J2ME/Java, billion cell phones have J2ME built in, the "winner" high definition format, Blu-Ray has J2ME/Java.
Sorry to say the idea of Oracle wasting Java is really stupid to begin with. Perhaps Java will focus on the thing it does best is a better theory, I mean huge servers, databases, J2EE?
If you ask the J2ME developers and game vendors, J2ME is doing pretty fine on billon devices.
Seen the numbers released by Opera Asa every month? Now add "Gameloft", "EA Games" to it. That is your "dead" language.
It will eventually merge with "real" Java and that time, it will be "dead".
I always wondered why didn't Google enhance the J2ME language to become undisputed app king on billion devices instead of going with their own unbranded J2ME.
Now reading such posts from supposed to be clever "developers", I wonder if Google wnt with their own "Dalvik" Java just to convince these idiots that it is not Java they will be developing for?
It is just like some Mono developers illusion that they aren't actually coding for Microsoft .NET framework.
The major problem with checked exceptions is that the variance rules for the "throws" clause are at odds with how subclassing and method overrides work (for sort-of-good reasons, mind.).
When you override a method you typically expand the set of things it can do, and thereby also the set of things that can go wrong. Unfortunately you can only restrict (or just plainly keep) the set of declared exceptions. There are some ways around this using generic exception types, but I've yet to see a practical and moderately satisfying solution. (More advanced type systems/languages have things like "effect types" to handle these things in safer ways, but I don't see any of those languages becoming mainstream any time soon, unfortunately.)
HAND.
The Java software platform is a piece of software licensed as GPL. Anyone can take it, modify it and give it away to someone else.
Not quite; there is a separate non-GPL version. That happens to be the version that people actually use.
More importantly, Sun also had dozens of important patents related to Java that are now owned by Oracle. It is doubtful whether you can create a compliant Java implementation without infringing some of them.
While the phenomenon known as Java may in theory be owned by Oracle it is in practive decoupled enough to be independent.
I wouldn't be so sure about that.
Besides Apple no one cares about consistency on the Desktop anymore. Have you looked at Microsoft apps lately?
The main problem isn't with looks, it's functional incompatibilities: keyboards not being mapped properly, drag-and-drop not working, preferences not getting stored properly, etc.
So Gosling does not have confidence in Oracle's stewardship of java, and they part ways. So now the Java crowd feels unease.
Where the HELL was Gosling when Java was under Sun's stewardship!??!?!?!? I sure as heck did NOT see a glowing future for Java a year ago!
Oracle has owned Sun for barely a few months, and NOW they're supposed to have a magical future planned out for Java?!?!?!? HOW MUCH MONEY does Java produce for Oracle RIGHT NOW?
The ONLY people who should be scrambling and thinking WTF? are people who have commercial Java product offerings. So, if you're IBM, or some Java tools vendor, you have a world of worry on your plate.
But everyone else? I don't know. If you are INCAPABLE of learning another programming language besides Java, then I'd say you're screwed. But for the rest of the programmer industry (all 95% of it), it just means they will be implementing solutions in java for as long as it makes sense, THEN EVERYONE will move onto "THE NEXT NEW THING". Which, btw, has been the history of the programming industry. From assembler to FORTRAN to COBOL to C to DBASE to SQL to HTML to XML to ruby, etc. etc. etc. etc.
Either Oracle gets it right or it doesn't. No one with a brain should give a damn. If you do, then you're some kind of retard who thinks java is the Alpha and Omega of programming languages. Its not. And even if it was, its extremely unlikely to be relevant in twenty years.
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon