Sun opens Java

Sun Microsystems Inc. of Santa Clara, Calif., has released the source code to its widely used Java programming language. Analysts see the move as one that should widen the reach of the already-prevalent language.

The announcement also comes after years of Sun declining to open Java, even as Sun released many of its other technologies, including the Solaris operating system, as open source.

The company will post the source code to various pieces of Java over the next few months, according to Sun CEO Jonathan Schwartz, who announced the release today. Available immediately, on the Java.net site, is the code for the Java Platform Standard Edition—which has over 6 million lines of code—and the Java Platform Micro Edition for embedded systems.

The company estimates that there are five million Java developers worldwide and more than 3.8 billion machines running Java in some form. The company hopes to extend the reach of Java by allowing outside developers to contribute to its advancement.

"This creates a fully permeable membrane between members within the Sun internal community and the world at large," said Rich Green, Sun's executive vice president of software.

News source: GCN for full article

Report a problem with article
Previous Story

Office 2007 System now available on MSDN

Next Story

First Legend of Zelda: Twilight Princess Review

31 Comments

Commenting is disabled on this article.

i don't see where .net is better than java. MS certainly is better at marketing its products if you still don't know.
and all the troubles with java are because of the developers. and because java has been with us for a longer time than .net has, certainly people perceive it as having more problems. if you say it is slow, you are probably still dated at 4 years ago, when you run your own standalone jdk. .net isn't much faster either running on the local pc, and it is as bloated as ever.

you gain the advantage of c# for the loss of other advantage. don't compare its pros to java's cons.

It's not a flamebait, i work in java, net and many other languages :

.net sux!.. really sux!. MS change the rules every two years.. vs.net then vs.net 2003 then vs.net 2005.. more a more bloated and more changes. Also .net is filled with paradigms... changing paradigms for example directx lived alone in their own "world" but now (.net framework 3.0) was "reshaped" in a set of "new technology", in other word directx is the same, do the same but you must program it differently.

MS OFFICE and the rest of the products star of MS are created using .NET? ;-)

Or even MS dislike to use a bloated products?.


And mono is a joke.

And for JAVA, there are many kind, J2me for cellphone, run fine but programming for symbian is way better. J2se is a worth-for-nothing, nobody ask for it. The real goal is j2EE because the money flown in this direction. Still java is BLOATED, for a desktop aplication java STINK!, not only is slow, also buggy and eat a lot of resource (even tiny samples). And for web PHP is easy, powerful, and resource-saving, what's the real reason for using java for web?.

Java and .net works because the marketing (they are overhyped), giving a lot of works for programmers, nothing more!.

Also "portable" is a useless and unworthy lie.


Quote - Magallanes said @ #10
It's not a flamebait, i work in java, net and many other languages :

.net sux!.. really sux!. MS change the rules every two years.. vs.net then vs.net 2003 then vs.net 2005.. more a more bloated and more changes. Also .net is filled with paradigms... changing paradigms for example directx lived alone in their own "world" but now (.net framework 3.0) was "reshaped" in a set of "new technology", in other word directx is the same, do the same but you must program it differently.

MS OFFICE and the rest of the products star of MS are created using .NET? ;-)

Or even MS dislike to use a bloated products?.


And mono is a joke.

And for JAVA, there are many kind, J2me for cellphone, run fine but programming for symbian is way better. J2se is a worth-for-nothing, nobody ask for it. The real goal is j2EE because the money flown in this direction. Still java is BLOATED, for a desktop aplication java STINK!, not only is slow, also buggy and eat a lot of resource (even tiny samples). And for web PHP is easy, powerful, and resource-saving, what's the real reason for using java for web?.

Java and .net works because the marketing (they are overhyped), giving a lot of works for programmers, nothing more!.

Also "portable" is a useless and unworthy lie.

There is no need for Office or the Microsoft applications that come with Windows to be written in .net.

.net is designed to make programming easier on users, it is not the only solution, and it might not be the best, but it is aimed at the majority of users who want to write powerful applications and write them quicker than normal.

Why is everything an attempt to flame microsoft here?

Quote - AppleBelly said @ #10.1

Why is everything an attempt to flame microsoft here?

because they are ALWAYS trying to put someone out of business

Quote - Magallanes said @ #1
And for web PHP is easy, powerful, and resource-saving, what's the real reason for using java for web?.
.....
Also "portable" is a useless and unworthy lie.

Incorrect and false.

PHP is interpreted each time a user ask for the page. Java is compiled in bytecode (which is really faster than PHP) and serves information much more faster. Also, you can have 2 or 3 JVM running on different servers with a link to an oracle database (Oracle and Java works in pair, you can even plug Java code in a PL/SQL procedure) and serve 12 000 000 users a week without being limited by ressources problems on the host. That would be really difficult to do the same with PHP.

Also, portability is not a lie. All applications I developed on my Linux box works on Windows (my sister's computer) and MacOS X (my father's computer).


Also, remember, Java is fast enough. It is starting the JVM that takes time. But once the JVM is started and the application runs, it is really fast.

But, C# has the same advantages as Java. But it is not completely portable.

I don't understand all this hatred for Java. Java is a nice programming language that has a very robust and well designed (for the most part, there are always exceptions) API. But the real beuty of Java is the fact that once you compile it to bytecode you can run it on any machine that has a Java Virtual Machine with little (usually no) changes (as long as you use pure Java code, obviously if you use native code that must be ported).

Of course there are downsides to Java, such as being slower then nativly compiled code and Java is quite the memory hog but overall the advantages outweight the disadvantages for many types of software (obviously not for gaming or other resource intensive applications). But if you want to wright a cross platform program without having to worry about a bunch of machine specific issues Java is a great way to do it (granted this wasn't the fact when Java was first released but Sun has made massive improvements and today Java is very platform independant).

The real irony is that the people here that hate Java seem to like .NET (for the most part). .NET is basically the same idea as Java, you compile code to a bytecode which is run in a virtual machine. The main differences is that .NET supports many languages but only offically works on Windows platforms (there is Mono but it doesn't support everything in the .NET framework and last I heard hasn't even implemented most of .NET 2.0 features which is bad since .NET 3.0 is out). Both .NET and Java applications suffer from slight performance hits due to being inside of a virtual machine, but both gain the advantages of not having to deal with memory managment or platform dependant changes in the code.

In terms of language features, C# is easily better than Java. C# is also standardized while Java is not.

In general, Java/.NET apps shouldn't be noticeably slower since they are just-in-time compiled to native machine code.

Quote - Andareed said @ #9.1
In general, Java/.NET apps shouldn't be noticeably slower since they are just-in-time compiled to native machine code.

True, this was one of those great features that made software that runs in a virtual machine much nicer. But even with just in time compiling the code needs to be compiled (which is already done with any natively compiled language) which leads to slightly less performance (I said it was slight, but didn't mean to imply it was human noticable). Generally speaking compiled C code will still run slightly faster then Java or .NET code (granted the performance difference is becoming less and less with each new release of Java and .NET).

Quote - Andareed said @ #9.1
In terms of language features, C# is easily better than Java. C# is also standardized while Java is not.

In general, Java/.NET apps shouldn't be noticeably slower since they are just-in-time compiled to native machine code.


Java has been standard for apx nine years. Remember that .NET was ONLY created by the boys and girls in Redmond as an answer to the threat of Java. The Sun, Oracle, and OSS camps where winning the battle, decisively. Remember: Competition is good.... so don't knock either technology if it forces developers to continue to innovate.

Java may have won approval to standardize, but they never did actually standardize; no ISO or ECMA standard exists for Java.

One reason C# was created was to compete with Java, so obviously Java is still important in this regard.

@MegaManXcalibur: Once the code is compiled it can be cached though, so you wouldn't see much overhead after the first run. You could also argue that JIT compiling can produce faster code than C, since it can include SSE[2]/MMX optimizations. You could also use compile C in the same way, but then it wouldn't run on certain machines, so this isn't typically done.

I can't say I have every really been that fond of Java, in particular the old Enterprise Javabeans model (pre version 3). I spent the last 3 years doing Java at university, and where it is easy to use (well, from my point of view), there was always something just 'there' that I didn't like. Saying that, the concept of Java is great, and without a doubt some of the architecture of the .NET platform is somewhat similar to concepts in the java platform. But at my core, I am a .NET programmer, and loving it.

Another .NET programmer; what a surprise.

On Java, the concept is beautiful really, it's always been too cumbersome for the uses they'd really love though.

too bad for sun now that they open java their main income they will go bankrupt =/

anyways java its a great language stop the bashing .net its useless having to get 3 runtimes to make the thing run its just useless crap.

Available immediately, on the Java.net site, is the code for the Java Platform Standard Edition—which has over 6 million lines of code—and the Java Platform Micro Edition for embedded systems

Sorry, but that's not true. Available immediately are the java compiler and the hotspot optimizer. The libraries that are part of SE and ME will be released somewhere in Q1 of 2007.

And to all that say that Java sucks: well so do you!

Despite the possibility to use non-GPL'd libraries I suspect this will have serious implications for professional developers. Small independents in particular.

I'm normally a fan of OS, but in this case it may wind up slowing down commercial adoption of Java as a development language; No matter how many protected classes you use, some of your code will eventually end up on the GPL covered areas.

Your post isn't quite clear to me.

If you are saying that an app written in Java (or for Java) would potentially run into GPL license issues, you are incorrect. The fact that Java is Open Source (or GPL) does not mean that apps must also be. One can run proprietary apps in Linux without license issues. It is done all the time. (it is only if you use GPL code in your own app that this becomes an issue)

Plus, my understanding is that Sun is dual-licensing Java, with a GPL or their CDDL ( http://news.google.com/news?q=java+dual+licensereference )

Java may have its place in embedded systems, cell phones, those type of devices, but for the desktop, this is just too little, too late to change the situation.

Java has the potential to be a great platform but it just sucks right now. Hopefully this will change things because there's not much that a Linux user can do with C#/.NET.

Mono 1.2 was released, which supports both .NET 2.0 and Winforms 1.1.

They're still finishing off ADO.NET 2.0, ASP.NET 2.0, and Winforms 2.0, but they are already partially implemented, and their 1.1 counterparts are all working.

I ported an app to mono in less than an hour. In fact, the only thing I had to deal with was figuring the .net 1.1 equivilent of .net 2.0 controls (office style menus/etc)