Friday, April 9, 2010

Java Versus .Net

Java Versus .Net: The big fight!!

Disclaimer: the thoughts and views written in this article are my personal opinion which i want to share with all my dedicated followers and it has got nothing to do with favouring any particular technology. So i do not hold any responsibility.
Thank you.

Last week there was a lot of buzz in my college campus about which technology will be better to develop a carrier in,will it be java or will it be .Net. So i went out and googled out things to start out my own research on it.I went throgh numerous articles that were inlisting deep research to prove which is better.It was too painfull to fully understand still which is better.Ultimetly the conclusion whic i drew was that "the market share of both Sun and Microsft is growing rapidely. Theose who are loosing are there rivals."


Java was the first successful managed programming framework. It was created by Sun Microsystems in an attempt to stop the momentum Microsoft was making into the world of big-dollar corporate computing systems. In the early 1990's, the market for corporate and government "big-iron" computers was extremely fragmented, and Sun was the dominate player with more market share than rivals IBM, HP, and DEC (Digital Equipment Corporation). Microsoft had just begun working with Compaq to use their Windows NT operating system running on beefed up Intel x86 systems to infringe on that market, but much to Sun's chagrin, Microsoft and Compaq were being supremely successful in doing so. At the same time, Sun's market share was starting to shrink even though sales were growing due to the onset of the Internet boom. Compaq was selling so many Windows NT servers that they eventually were able to gobble up DEC and the most prized processor in the world, the DEC Alpha which was at the heart of the most popular mid-sized systems for small governments and universities.

Seeing the writing on the wall, but still in love with their own platform, Sun release Java for Solaris and Windows. The heart of Java is the JVM, which is a very complex piece of software. The main advantage of the JVM is its portable nature. It can be hosted on any system for which the JVM has been ported to. Any system hosting a JVM in turn can run any software written in Java. Sun's business model was to encourage porting of Java to all of the major platforms by allowing a free Standard Edition to be created. Then, once the Standard Edition was stable on a platform, the Enterprise Edition (which is NOT free) could then be implemented on top of the Standard Edition through a rather pricey licensing agreement. Once the demand for Java applications written for the J2EE platform reached a certain point, Sun would be able to withstand competition from Microsoft's Windows in Sun's own back yard.

Bill Gates is a lot of things, but stupid he is not. Almost immediately, Gates tried to derail Sun's plans for Java, and he almost succeeded. This came about through a licensing agreement that allowed Microsoft to create their own JVM to distribute with Windows so users wouldn't have to obtain a copy of Sun's JVM. Microsoft created a new language that expanded on Java and blended into it non-JVM standard features for integration with Windows NT. This language, called Microsoft Visual J++, never really garnered much market share, but the Microsoft JVM did, quickly becoming the most commonly used JVM on the market. Microsoft then stopped implementing new features, specifically the ones that allow the Java 2 Enterprise Edition software to work, thus nearly stopping Sun's business model for Java before it ever got started.

Sun sued Microsoft, and the suit stayed in the courts until earlier this year after several unfavorable rulings against Microsoft. In the mean time, Microsoft was fighting back on a parallel front. They hired Anders Heijlsberg (who had created the Delphi programming language and IDE) away from Borland and tasked him with creating a new managed programming framework that could support a variety of programming languages and which would be submitted to ECMA for standardization.

Heijlsberg hit two home runs: The first was a new programming language called C# which combined all of the great features of Java and C++ and added many new features that were previously dreamed of but never fully realized. The second was the Common Language Runtime. Both technologies were submitted to and ratified by ECMA. Microsoft then did something unheard of: they bet the farm on these two new standard technologies, much in the same way that Sun has bet the farm on Java.

The combination of the CLR, C# and Microsoft's standard set of libraries for the two is known as the Microsoft .Net Framework. As part of their bet-the-farm mentality with .Net, Microsoft forced the millions of Visual Basic programmers around the world to be relegated to the past or move to the new Visual Basic.Net language or to C#. Almost all of them have.

Since both companies have now developed there own frameworks for the development,the story now comes at the simplicity and versatility that the two can provide over each other.
There is no single winner in this fight. Let us now compare the various technological sapects of the two frameworks.

Web Development: As said by Billu(respected Bill Gates),”if your business is not online,then you are out of the race in next two years.” Thought provoking statement but the thing is that “is Microsoft doing good enough to bring others business online?” The answer is NO.
Microsoft’s ASP still lacks certain features like crash handelling and client-server synchronization that gives Java’s JSP an upper hand over it. Moreover It has been researched out that the websites designed in ASP are more vulnerable to virus and hacking attacks compared to those in JSP. The .net framework do simplifies the development work to a greater extent but still the security features are lagging with respect to JSP.

Software Development: This is a tough scenario to judge. The race is still on but when it comes to putting the products in the front then Microsoft is very good at it.
There have been varios companies who have now adopted the .net platform for the development of various software products for there clients . The shift in gears is the response that they are getting from there client. With microsoft’s visual studio 2010 in line to hit the market in june this year , there are great expectations that it will be much better than what MS has produced so far.The reports have shown that java has lost more than 12% in last two years compared to Microsoft in software development technology.

SERVER TECHNOLOGY: a new survey conducted by Port80 determined that 43.6% of servers are using IIS in combination with ASP.NET by examining their HTTP header signatures. Java came in second with 12.2% of that market share.So no need to say that the winner is Microsoft. So there is a lomg road to catchup for Sun.

DEVELOPING ERP SOLUTION : It has been a long debate about the fact that Java is always more suited for developing large scale ER
P solutions compared to Microsoft. But the scenario is rapidly changing as many organization are now changing the trend and they are demanding to develop there ERP packages completely based on .net framework. They have the option to Get an ERP solution from ORACLE financils or People soft but they understand the potential of developing an ERP solution developed using .net. Though the 54% market share is with Sun in context to developing ERP systems but the scene may change as Microsoft is catching up rapidely.

Whatever may it appear from overhead but the crux of the battle still lies between JVM and CLR.
The race is on and is heating up with both technologies adding up funds and features to become the best. The road is not easy for either two but still i hope for the next 50 years neither Microsoft nor Sun is going to crash down. The fight will still continuw with the mass money backup of Microsoft and the open trend of Java.


  1. Gratitude for the good blog post. It was very helpful for me. Keep sharing such ideas in the future as well. gratitude for sharing the such knowledge with us,