Does an Open Java Really Matter?
snydeq writes "Fatal Exception's Neil McAllister questions the relevance of the recent opening of Java given the wealth of options open source developers enjoy today. Sure, as the first full-blooded Java implementation available under a 100 percent Free Software license, RedHat's IcedTea pushes aside open source objections to developing in Java. Yet, McAllister asks, if Java really were released today, brand-new, would it be a tool you'd choose? 'The problem, as I see it, is twofold,' he writes. 'First, as the Java platform has matured, it has become incredibly complex. Today it's possible to do anything with Java, but no one developer can do everything — there simply aren't enough hours in the day to learn it all. Second, and most important, even as Java has stretched outward to embrace more concepts and technologies — adding APIs and language features as it goes — newer, more lightweight tools have appeared that do most of what Java aims to do. And they often do it better.'" Since Java itself never mattered except to sell books, I still don't see why opening it matters.
If you've ever wanted to run a Java app on a debian box, you know why this matters.
The strictly FOSS distros have historically refused to include a Java package due to its non-Free license. There's some really good Java software out there, and without a pre-built java package, it was just that much harder to access them.
I've used both C++ and Java, I like them both. C++ just has a lot more pitfalls that a savvy programmer knows to avoid, whereas a novice will get swallowed into the cold oblivion of core dump and seg-fault hell. But, its also goddamned powerful.
Java is slow?
Python has the Global Interpreter Lock, which means even though there are threads, they don't execute concurrently. Too bad if your server has several processors / cores.
To ask if Java were new we would use it today, while valid as an abstract and absolute measure, is irrelevant in today's software world context.
Java is HUGELY entrenched in today's business software market, probably even more so if one weights by overall company valuation (i.e. Java's market share by company valuation is substantial, perhaps even dominant).
Open sourcing it matters since Java's growth and maintenance matter, as the investment in Java is substantial and unlikely to change any time soon.
Java's never gonna be the hot young thing in programming again (if it ever was), but that's irrelevant to the question of open sourcing it. Java has substantial value, and open sourcing software of value matters. Doing things that alter the growth and maintenance plans of a heavily vested technology matter.
Further, this:
is a tautology. No developer can do everything with C++ either, that doesn't lessen its value or relevance. Neither does Java's complexity or unwieldiness lessen the value gained in being able to learn from and modify how it has implemented things.
I personally don't get this constant desire on some people's part to denigrate Java. Some sort of Comp Sci elitism for the business language?
Claiming open sourcing Java doesn't matter is like claiming open sourcing windows wouldn't matter; the same arguments apply. Windows is unwieldy and complex, and competing software generally does things better than windows.
Python is the only language I'm aware of (certainly the only major language) that uses whitespace to define blocks. Thank God. It's a *serious* dealbreaker for me.
== Jez ==
Do you miss Firefox? Try Pale Moon.
Most apps are moving to the web even custom apps. So Javas key advantage is loss. As Python, Ruby, PHP... while are primarly considered interpreted lanaguge without the byte code (yes I know at least python you can make PYC files which are bytecode....) but because they are on the server protected with the OS Security you can make apps and do more realtime chanages to the code vs. compiling it over and over again. and not have your users mess with the design. You do know that Java is not just applets and client applications, right? Java is heavily used on all of the things you just talked about - serverside apps. See servlets, JSP, etc. Both Python and Java are interpreted, so I don't know what you're talking about: "Java bytecode is interpreted or converted to native machine code by the JIT compiler." [Wikipedia-Java].
I guess I should know by now to expect most people to not know what they're talking about when they post.
But, back to the issue. I fully agree with many other posters claiming it reduces the possibility of being screwed over by Sun or licensing inside of the various packages (audio is one that comes to mind - the one they're still rewriting).
You are also missing that the GWT that runs most of the apps on Google (like Gmail) is written in Java. Java's GUI has issues but that does not mean that Java does not have good uses.