Two Takes on the Java Dilemma
Joe Barr writes "NewsForge is running a pair of excellent commentaries on the plight of Java and the Java development community following the recent "settlement" between longtime rivals Sun and Microsoft. One is by Rick Ross, the articulate leader of JavaLobby, entitled "Where is Java in the settlement?" The second is "Free but shackled: The Java trap" by Richard Stallman. Good reading. Both commentators put their finger on the heart of the problem, albeit from different perspectives." Yes, Newsforge and Slashdot are both owned by OSDN.
My theory is that Sun is going to sell Java, probably to IBM. That's also a reason why Sun is will not
open-source Java. Even if it is losing money, it's still a valuable asset. Sun owns the trademark, many Java-related
patents and is the only company with the authority to prevent Java from being forked.
Sun's threat is to sell Java to Microsoft. Not sure whether MS wants to buy it (they would certainly be
willing to spend a lot of money to destroy it, but it would also annoy many people and renew the antitrust trouble). Losing Java would be so bad for IBM that they would be willing to spent a few billions to save
it. Possibly together with other companies in the Java trap, like SAP.
Sun's control of the Java language is a benevolent dictatorship. If Java was truely Open Source, then Microsoft could have forked it to allowed J++ to exist on Windows and blow a hole in the "write once, run everywhere" theory.
In order for there to be a language that's solid in all environments, there's got to be a gatekeeper at the door.
It seems quite certain that Java is doomed: Microsoft did not pay $2bn just because it likes the sound of change dropping. It wants Java dead, and .NET to be the main platform for large applications. It hopes to cripple IBM this way. Most likely Sun's refusal to open source Java was based on the promise of the upcoming funds.
So: Sun will slow down and finally stop development of Java. IBM will either try to roll-out its own compatible platform or propose a migration to something else.
And RMS will be muttering: "those fools, those fools, if only they understood what the GPL was about". And he would be entirely right.
OTOH, perhaps I'm just being paranoid and Microsoft will allow Sun (which is now a neutered zombie company selling its own living organs for booze money) to continue supporting one of the main obstacles to its domination of the platform business.
Ceci n'est pas une signature
Isn't Algol the d00d who said he invented the Internet and then went and lost the 2000 election?
RMS has a very valid point. My open source Java software depends on non-free java compiler and runtime environment.
I continue to write free software in java because Java is sexy, and I believe that Java will one day be free (or have some free implementation). Many of the things that I can do in java would be very hard in any other language. Namely having a GUI program that can run on Windows, Mac OS X, and Linux.
I disagree with RMS that we should not accept this even temporarily. I write open source Java libraries under the GPL so that people who find them useful and want to use them must adopt the GPL. Planting open source seeds in the Java community will help in the liberation of the platform as a whole.
Having such a setup is currently non-trivial. I have tried many times but have yet to get one to work. The gjc compiler is not hard to get working but getting a jre and the classpath libraries set up is beyond my skill level. Rather than appealing to developers, making free runtime easy to set up is the best way to make this happen. I applaud RMS for his work in this area, but it is not yet practical to take his advice.And RMS will be muttering: "those fools, those fools, if only they understood what the GPL was about".
He mutters that constantly anyway, you insensitive clod!
I want to delete my account but Slashdot doesn't allow it.
Get real. See all those Java jobs out there? I know a few months ago there were more of those than any other language. I doubt that has changed... or will change in the near future.
Sun could drop off into the Pacific tomorrow, and Java would keep on going because in a lot of places it's the best tool for the job. As much as they would like to, neither Gates nor Stallman is going to change that fact. If Sun (under MS's influence) tries to corrupt or hamstring Java, IBM, Blackdown et al will simply fork it, and everybody will start using theirs.
Garg
Garg
Alumnus, Xavier's School for Gifted Youngsters
Java and C# are crufty languages anyhow.
I don't care much for OO myself, but many people say at least the newer Java implementations are really quite good.
What put me away from Java since the beginning is the size of the executables, and their truly atrocious speed. And also the size and speed of another monster called Swing.
But, I remember a certain OS called Unix that used to be the archetype of bloatware, with a graphical system that used to open 2 megabyte (gasp!) temp files, in the past. Now that computers have caught up with it in terms of memory and speed, Un*x looks thin compared to Windows, and its creators seem like precursors and visionaries.
So sometimes I wonder if I'm not missing a boat with Java : perhaps it too is ahead of its time, and one day nobody will balk at the speed, because it'll run fast by virtue of the underlying hardware.
But I guess now that Microsoft and Sun have agreed to kill it, the question of whether or not I should try it is getting moot.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
COBOL is still around in big installations, although Y2K probably reduced that number to some extent, but certainly did not kill it off.
Java, believe it or not, via J2EE / EJB is the COBOL of our time. Business logic gets done today in Java -> EJB -> relational database, instead of COBOL -> VSAM.
Which will be more readable? COBOL today or EJB code 30 years from now? At least COBOL was inherently single-threaded!
Java won't be 'dead' until all of this generation's buisness logic gets reimplemented. But at least the data is (should be) housed in something more language-neutral than VSAM.
From RMS: "If you develop a Java program on Sun's Java platform, you are liable to use Sun-only features without even noticing."
Does anyone have a clue what he's talking about? The "com.sun.*" libraries? How could you use those without noticing?
Doesn't sound like this guy has ever programmed in Java.
Sun won't release the source code for their JVM and Java compiler, but they allow development of an open-source compiler and VM or a Java-to-C[++] translator which can be used for future-proofing today's Java applications. Therefore, programming- and CS-savvy amateurs and professionals should undertake such a project to improve their skills and make the world a better place in which to live.
Java is an open specification. The libs are open specifications. Just because the FSF hasn't been able to finish an implementation doesn't mean it can't be done.
Stallman's argument about libraries being required to conform to the specs if they're publicly available is also a load of crap. Basically it only applies if YOU CLAIM TO IMPLEMENT THE API. In other words, don't claim to be J2EE compliant until you actually are. There is nothing stopping anyone from starting a project and saying "Out goal is to build a system fully compliant with API x." and developing it. The only restriction is you can't claim to be API x compliant until you are. That's a real hardship, being required to actually support the feature set you claim to.
I'm sorry, I develop in Java (in addition to C, C++, Perl, and PHP) and I like to know that if something says it complies with specification X that it actually does.
Also, as a side note, Java is not going anywhere. SAP, Oracle, and IBM have too much of an investment to let Java die. Sun could declare bankruptcy tomorrow and IBM would buy the technology tomorrow, guaranteed.
.technomancer
So what are you trying to say? Is Ralph Nader for or against Java?
I'm sorry, but .NET is garbage - too much glitter and not enough of the important stuff like platform-independence.
.NET to develop any serious web applications. While you are correct that it sacrifices platform-independence, you are way off the mark when you call it "garbage." If you are using Microsoft products from end-to-end, .NET is actually an extremely powerful and simple platform.
.NET, connecting to a Microsoft SQL Server backend, hosted on Windows2000 server boxes, with clients all running various Windows boxes, using IE. We test with Mozilla and older versions of Netscape too.
You clearly have never used
We develop web applications using Visual Studio
We've found this setup to be extremely powerful, allowing very rapid development. Sure, it's homogeneous, but so what? It's working great for us, and our customers.
Since we are hosting the actual sites, we get to control the backend platforms. And we've chosen Windows. So, there's no issue about "platform independence." We've chosen a platform that enables us to deliver the best results to the customers, on a very rapid schedule.
Like woodworking? Build your own picture frames.
I actually read the Stallman article (yeah I know this is slashdot). One thing bothered me as I read majority of the article is Stallman's use of GPL and free interchangebly.
My main problem is "free" means free. But in the GNU context "free" means "GPL'd". There is a problem here GPL'd software is not really free, it is freedom with restrictions. Java is also free software with restrictions, mainly not being able to modify it. GPL goes one step further allows modification but with the restriction that the modifications also be made freely available. Thus GPL is a little more free than Java but not completely free in the true sense of the word.
Suppose I released some software completely free. Free to use, modifiy and redistribute without realsing any of the modification under a new FSL (free software License). Said software would also be shackled when run with dependencies of GPL'd software which is not as free as the software I just released, lets call it the GPL trap. Or any software linked with GPL'd software must also be released under the GPL. Java doesn't require you to follow its licensing terms, one may release Java programs under the GPL.
As I have just illustrated, different degrees of freedoms exist in the world and mean different things to different people. Java is free, as in no monetary cost to use, GNU software is more free as in it is free to modify, but there is also a definiftion for free as in "no restrictions, no cost" which the GPL'd software like GNU/linux is clearly not. So I would like Mr. Stallman to please stop using the word free interchangebly with GPL'ed software, so as not to confuse readers.
Freedom is a deeply philosophical term of which excrutiatingly long discussions can ensue. However, Java is free, albeit with restrictions, GPL is a little more free but also with restrictions.
If the corporate world decides that Java will not be supported with improvements from Sun, and without IBM able to take over due to no Open Sourced version, they will drop Java faster than you can say C#. Nobody is going to run their business on obsolete stuff, no matter how good it is now.
The reason this is true for you says more about your quantity of experience in Java compared to your experience in Lisp than it does about the quality of either language. An experienced Lisp programmer would probably say exactly the opposite. (In fact, someone in this thread remarked that he does pseudocode for other languages in a Lisp-like syntax, which I found interesting.)
Similarly, I'm a Perl programmer and have never understood why people say the language is "write only" and similar snide remarks. Perl is instantly readable to me. Put me in front of a bunch of C, though, and I have to puzzle for awhile to work out what it does. That doesn't mean Perl is better than C (although every good programmer knows it is :P ); it just means I'm much more fluent in Perl.
Secession is the right of all sentient beings.
Your whole post is unsubstantiated anthropomorphization of Sun and Microsoft, boiled down to "MSFT made a better Java than Sun, and Sun wanted to hog the credit, so they rejected every reasonable offer simply out of spite". Amazing that this gets modded to +5 insightful... Please, go tell this story to a room of kindergarteners.
Sun worried (rightfully) about the proprietary extensions MSFT was adding to Java, which would have had the result of tying "Java" to Windows and shattering the "Write Once Run Anywhere" promise, while at the same time having the (mostly false) appearance that MSFT was playing nice with its competition. And that's just one part of the whole issue.
Get your history right, or at least don't try to pass off your skewed opinions as fact.