jump to navigation

The Twilight of Java August 30, 2010

Posted by Peter Varhol in Software development, Software platforms.
trackback

As a participant in the development scene for a number of years, including as a software developer, product manager, evangelist, and technology journalist, it’s sad to see this emerging legal fight between Google and Java’s new owner Oracle.  And it’s a disappointment that Google won’t be participating in the upcoming Java One.

I’ve heard so many conflicting stories here that I have no opinion on who is in the right.  There are a lot of factors to consider.  Java’s previous owner, Sun Microsystems, placed much (but to my knowledge, not all) of the Java platform into the Open Source community, using the GNU General Public License, or GPL.  That license requires that any application that “staticly links” to Java also be covered by the GPL, and become open source.  The GPL also enables users to create derivative works (read: alternative versions of Java) as long as those works are also made available using the GPL.

That was always one of the dangers inherent in releasing Java as open source, that others would offer alternative implementations and the language and platform would splinter.  This would fatally damage the portability of the language (not that it was fully portable to begin with, or that portability is even an important consideration), and Balkanize application development and commercial products.

In practice, Java is a dynamic linking language, so the static linking proviso is a neglible restriction to someone who wants to use Java yet retain the intellectual property of their application.  However, if Google were extending Java in proprietary ways, or changing a part of the language or platform not under the GPL, that may be actionable.

Alternatively, Oracle may be trying to reassert a proprietary stake in Java, and using Google to send a very clear message to the community.  Or it may simply be attempting to stick it to Google, a company that has an annoying way of becoming a competitor by redefining the market.

I can’t find a good and unbiased explanation of the issues involved, so I can’t offer my two cents on their validity.  To most in the Open Source community, Google has a much better reputation than Oracle, but that may or may not have any bearing on this conflict.

But I do know that this almost certainly portends the decline of Java as an alternative to the Microsoft .NET platform and languages.  That’s a shame, because .NET and the C# language are based on similar principles as Java; while Microsoft had no doubt been giving some thought to moving to a managed platform in the latter part of the 1990s, the emergence of Java was undoubtedly the catalyst to actually do it.  Microsoft needs this kind of competition to push it to innovate.

Java is likely in decline because this kind of infighting will take it down.  Despite healthy competition in the Java community in the past (IBM comes to mind), there was never the sense that the community was taking sides against each other.

Sun was a poor excuse for a software company; it provided Java as a means to sell its server and storage hardware.  The act of moving it to open source was an acknowledgement of the fact that it couldn’t successfully sell software.  Oracle, on the other hand, is a very successful software company, and can almost certainly make money selling Java.  But it has no reason to provide Java as a largely free service to the software world at large.  I suspect that Oracle would rather have a less used and highly profitably Java than a broad-based but unprofitable one.

There’s a lot of Java code out there, so the decline with be slow.  Regrettably, it now seems inevitable.

Update:  One of my commenters says that Java is not GPL.  As near as I can find (including http://en.wikipedia.org/wiki/Java_(programming_language), most of it is GPL.  If anyone has a definitive reference, please post it in the comments.  Thanks.

Advertisements

Comments»

1. The Twilight of Java « Cutting Edge Computing – pvarhol.wordpress.com at The WordPress GPL Debate - August 30, 2010

[…] View the original article: The Twilight of Java « Cutting Edge Computing – pvarhol.wordpress.com […]

2. brian - August 31, 2010

May have been true up to the release of Android, fast becoming the worlds No 1 smart mobile phone platform. Its java based apps…..

3. Mike - August 31, 2010

I don’t see the death of Java as a language. No one owns or makes profit from the C language directly, yet it is still widely used. And if any language is being used, there is always more than one company who can profit by selling tools, libraries, etc.

4. stuxstu - August 31, 2010

The same fear Java developers have is the same fear everybody who builds databases against MySQL has.

5. Daz Fuller - August 31, 2010

As someone who was getting fed up with C# and the .Net framework and considering a move to Java this has really thrown a spanner in the works.

Personally I don’t want to shift to a technology whose future is uncertain and where there is so much in-fighting. This just gives me more reason to look at shifting to other technologies such as Python!

It’s just a very sad situation

6. Url Onz - August 31, 2010

“They stab it with their steely knives, but they just can’t kill the beast.” Would that they could. Our agency was going to be an all Java shop until they found out that it took twice or more as long to develop anything than it does in .NET. Contractors who stand to make more money from an Oracle/Java platform sell a line of OFOBO to directors who buy it when these sharks uses phrases like, “You must leverage the scalability of your system paradigm.” I can manage an MS SQL Server instance, program stored procedures, set up web apps in .NET and do the whole thing solo in the a fraction of the time teams of programmers and Oracle DBA(s) take to do the same jobs. I have an average 30 minute turn around time trouble tickets, and I have no ticket back log. The Oracle/Java team has over 900 tickets some as old as 3 to 4 years. It is not all me. It is much to do with the .NET platform.
So lets stab the beast with our steely knives.

Michael Kingsford Gray - September 1, 2010

I agree 100%
Java is a beach buggy, whilst .NET is a Mack Truck.
One is for light-hearted noodling-about and the other is for seriously heavy actual work.
Anyone who tries to produce a business-critical application in Java is using the wrong tool.

J. S. Smythe - September 1, 2010

Wow … do you ever need to get some sort of a clue. Business-critical applications using .NET? That’s laughable. So, which divison of Micro$oft do you work for, anyway?

Peter Varhol - September 1, 2010

You may be surprised; I have both anecdotal and survey evidence is that there’s a lot of .NET development going on in enterprises. And I don’t have a horse in either of those races, so I call them as I see them.

oc - September 2, 2010
terry - September 2, 2010

You hit the nail on the head man. The biggest problems don’t just end with Java itself in terms of its flaws like type erasure in generics. The tooling is broken and buggy too. Java development is muuuuuuuucccccccccccccchhhh too complex. If you look around on Java development sites you’ll notice these guys are using dozens of frameworks to paper over the many flaws of Java. Mysql is another buggy pile of crap but everybody uses it anyway.
In .NET the tooling just works, C# is innovating and moving forward, Windows users actually are willing to pay for software unlike *nix snobs, I don’t need a team of consultants to setup and maintain Sql Server like you would for Oracle, etc. The list just goes on and on. Java sucks big time and I hope Google (without the ads and privacy violations of course) comes up with a replacement for Java as a condition of the settlement of the Oracle suit.

Michael Kingsford Gray - September 2, 2010

That is my experience as well.
I have been developing and managing major business-critical software since 1976, and know how to spot faddish toy-tools, such as C, C++, & Java.
Most of the world’s MASSIVE expense in fighting viruses is as a result of programming in non-type-checking languages.
Give me Ada, or at least .NET for anything but toy systems, please.

oc - September 2, 2010

Michael Kingsford Gray, with all due respect you are an idiot. C, C++ as ‘toys’? What is your ADA or .Net language written in? What is the language used to write the operating system which they run in?

7. Raja Ravi Varma - August 31, 2010

Actually I want to know why people always hate Windows and its products. I agree, open source products are free to use and we get much support from lots of users, but I think Microsoft has made software and web development easier and that too especially with the Express editions of Visual Studio.

Can you explain why?

Eddie Sheffield - August 31, 2010

Speaking for myself, I’ve developed extensively with both Java and C#. As an environment, I generally prefer Java but it’s close. Each has it’s strengths and weaknesses.

But for development, I find Visual Studio much less productive. Refactoring ability has become one of my top priorities with a dev environment, and even with Visual Studio Pro, it feels little better than Notepad compared to Eclipse. Refactoring is much more than a weak, slow renaming and dodgy extract method. You can add the awesome (but costly) Resharper, but that just barely puts you roughly on par with Eclipse. It’s also painfully slow. “Visual” GUI development is a huge waste of time regardless of the platform unless you’re doing a quick throwaway POC.

As for Windows itself, it’s OK, but most of the animosity I do have toward it is because I know other products through the years have been technically superior, but Windows won out mostly by marketing deals. I find that very frustrating.

8. miguel - August 31, 2010

I think C# will demise long before Java (I’m not saying c# will demise anytime soon tbw), and this is being blow out of all proportions.

1) Sun Microsystems did not just create Java, they had Solaris OS, SunOS, Star Office which became OpenOffice, lots of sysadmin tools etc etc. So to claim was a failed Software company whereas Oracle is a successful software company is biased by the outcome rather than the product – after all Oracle aren’t suing Google for something Oracle came up with!

2) Most of Oracles products, barr the RDBMS itself, is based on Java — all the stuff that makes the database useful to companies.

I think this thing with Google is a lawyer driven affair and at best I think Oracle might get an out-of-court deal going with Google to go after the mobile market. I really think Oracle wants in the mobile market bad and just doesn’t know how to get involved.

9. John - August 31, 2010

I agree with the premise of the article but disagree with in-fighting as being the primary cause of it’s demise.

I think the real cause is complexity and I think that .Net has the same disease.

Whats killing Java is dynamic languages such as Ruby. Young programmers want new ways to get things done quickly. They want to automated testing. They want to use modern software engineering techniques.

These things are difficult to do with Java unless you buy expensive tools.

Java and .Net have become frameworks on top of frameworks on top of frameworks. The factory, factory, factory, factory clique.

10. Cardin - August 31, 2010

I believe that .NET doesn’t really cut it as the next C++ because it’s too tied down to Windows.

On the Linux they’re using Python, which is a very good language but not really C#/Java-like.

Java’s popularity doesn’t seem to reach the Web trendsetters. It has a lot of users, but there is little news about Java or ground-breaking development. Apart from geeky knowledge of OpenOffice being Java-powered, Java mobile games and some JavaFX news (which sort of disappeared under HTML 5 and Silverlight), there isn’t much exciting news to report on Java.

Me, I’m tired of this whole language argument. I’m trying to learn C++ and just be done with it all for eternity/next decade.

11. psykotedy - August 31, 2010

I will not be shocked when PostgreSQL starts getting a significant amount of attention from the Google staff. Being that they are a dragon themselves, Oracle should know better than to poke the beast.

As far as Java dying, I think it’s been circling the drain for a while now. It’s been stretched far beyond its capability, and the only thing that seems to be keeping it alive is placing dynamic language interpreters atop the JVM. (You say, “You’re delusional, there’s a TON of Java out there, so it’ll never die!” to which I respond: “It will die like COBOL has, morphing into an undead presence on which a small lucrative market for ‘integrators’ will emerge.”) As soon as someone slaps together an alternative to the JVM on which interpreters can be built (or someone goes in and abstracts the languages further from the platform on which they reside), Java will keel over.

12. Jim Birch - September 1, 2010

Want a good reason? Here’s a simple piece of arithmentic: a billion Android devices pay a $5 license fee equals a 5 with 9 zeros after it. Current annualised Android device ship rates are around 20 million and we can guess that this is the tip of a iceberg the size of Greenland. Android could be on everything except the iPhone and the iPad pretty soon.

Just guessing, but I don’t think this play of Oracle’s is actually likely. If Google loose this case, and have to pay something, they will revise Java obligations out of Android II, because it makes big economic sense. Android is a significant part of Google’s Internet ubiquity strategy. If guess is correct, Oracle’s action can be seen as a one-off raid on a Java competitor.

And probably a dumb one: this will hurt Java. Oracle would probably be better off paying those big lawyer’s fees to some smart developers for producing a mini Java that actually works on lightweight devices.

13. Top Posts — WordPress.com - September 1, 2010

[…] The Twilight of Java As a participant in the development scene for a number of years, including as a software developer, product manager, […] […]

14. Ra - September 1, 2010

Java is not under GPL!

15. Michael Fever - September 1, 2010

The fighting will never end. Just when you think everything is about to stabilize now Google is not going to participate. It’s like Flash on the iPad, or proper HTML standards being met on IE3,4,5,6,7,8,9,x,x,x lol. Lets hope Oracle can turn things around for Java.

16. oc - September 1, 2010

Oracle’s suit is not about google violating the GPL. It’s about patent violations. Google did not extend java – they created a clean room VM (Dalvik) which has it’s own bytecode. They never called it “java”. Oracle claims that the dalvik vm violates patents they hold.

17. Patent Fight Over Java Likely Means No Winners « Cutting Edge Computing - September 1, 2010

[…] development, Software platforms, Software tools. trackback One of the commenters in my previous post noted that the lawsuit filed by Oracle against Google was a patent fight, not a license fight.  It […]

18. Tero - September 1, 2010

This is a strange situation. Java is in decline, but there is nothing to replace it with. There is no huge shining beacon of light that would wash away Java and all the other languages with its awesomeness.

Some people talk about Ruby, then Python, then Scala, JavaScript, C#, Erlang, and list just goes on. While some of these languages have their strong points, none of them are really contenders in the sense that Java was when it came out. They are all flawed and good in their own way.

That’s probably what the future will be like: highly fragmented. There is no language to rule them all. You just use what ever language fits the job, and there will be many.

19. Coker - September 2, 2010

I haven’t programmed in Java, but it is a language that I want to learn. For one, it is a language that can run on any platform due to its virtual machine. This goes for both Python and Ruby. .Net on the other hand, can only be used on one operating system, and that being Windows. However, if Mono is used, then .Net can be used on multiple platforms as well. Don’t forget Objective-C. It is becoming popular, but that is due to Apple’s iPad, iPhone, and iTouch. Yet, GNUNext allows programmers to program in it on other platforms.

Tiobe.com places Java, C, C++, PHP, and (Visual) BASIC as the top 5 programming languages. This is due to the number of search hits on search engines.

Coker - September 2, 2010

Addendum…
Oracle is sueing Google for making changes to Java. In the past Sun sued Microsoft for doing the same thing to Java. Because of this lawsuit, Microsoft developed .NET.
I don’t see the big hype with .NET. Yes, I write programs in it, however, it has its limitations and problems as well, one being a proprietary development suite.

oc - September 2, 2010

No it’s not about making changes to java. It’s about patents (read comments above). Google never claimed that the dalvik vm is “java”.
However, you have a point if Oracle targeted the google app engine because they are calling it java and omitted (the ‘change’ part) certain standard api’s.

20. BlessedGeek - September 4, 2010

Unless a grain falls to the ground and die, it will not bear fruit.

Java must die.

21. Patent Fight Over Java Likely Means No Winners | World's Greatest T-Shirt - September 4, 2010

[…] of the commenters in my previous post noted that the lawsuit filed by Oracle against Google was a patent fight, not a license fight.  It […]

22. webdev - September 5, 2010

.NET is a funny joke. Mostly because the users are not engineers just keypressers. If you want to build the same old boring shot follow ms

23. Helen Dangote - September 5, 2010

It looks as though Google saw this coming by not referring to their dalvik vm, Java. What Oracle have done, is send negative message to the industry that they’re treading on a shaky ground if their applications are based on Java.

Wrong move.

24. 2010 in review « Cutting Edge Computing - January 9, 2011

[…] The busiest day of the year was August 31st with 6,193 views. The most popular post that day was The Twilight of Java. […]

25. 2010 in review | World's Greatest T-Shirt - January 13, 2011

[…] The busiest day of the year was August 31st with 6,193 views. The most popular post that day was The Twilight of Java. […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: