Hi,
What is differences between Java and .NET?
Thanks.
Loading
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Vineet Kumar SainiPosted Nov 16, 2011, 7:34 PM
The Main difference between java and .net is
.NET is the product of MICROSOFT, Which is a Technology.
JAVA is product of SUN-MICROSYSTEM,Which is a Programming Language.
Java is developed by Sun Microsystems where as .Net is by Microsoft Corporation.
Both of them are capable of producing high end applications.
Java is a light weight language and can be run on almost all the OS. Light weight doesn't means that it have less capability then .Net rather it means that it do not trigger the computer with lots of load and Hard Disk space. Whereas .Net needs a very heavy framework to be installed which have higher Hardware requirements too compared to Java.
C# is the most popular language of .Net and is used to create any kind of programming like Web Application, WIndows Application and up to an extenct games programming too.
The main reason why many programmers dominate .Net is because maximum things that you need to achieve manually in Java, are already provided by .Net framework automatically.
The .Net garbage collector does not wipe away your objects as and when it likes, but will do the garbage collection in more efficient manner than Java. Basically in Java it has been upto the programmer to clean the memory manually whereas this task is moreover automated in .Net.
Like .Net garbage collector runs at a certain interval and see is there is any memory occupied by any object whose parent is now finished processing (for eg. you closed an application), in this case the garbage collector automatically removes the reference of that object and free up the memory, whereas in Java you need to confirm it that all the objects are destroyed before application quits.
On the other hand Java has a major advantage that it can be run on any OS which is able to install JVM. This is a major disadvantage with .Net.
Also, for .Net a standard development IDE is available that is Microsoft Visual Studio. This tool comparises of all the things you require for your development purpose (Each and every thing you may think need of are at single place).
Whereas, for Java no such standard tool is available. Although, many third party IDEs are available.
So, in my opinion if you are going for WIndows programming and having quite a smart hardware then go for Microsoft .Net otherwise if you need multiple OS solution then Java is a better option.
Please also note that if you are going to develop Web Applications then they don't have any problem in running to any operating system. Just one thing to remember that if .Net is used to develop such Web Application then this application is to be hosted on only Windows Server.
Whereas, if the application is in Java then it can be hosted on any OS that supports Web Server including Windows.
Key Differences Between Java and .Net
First clearing that Java is two things Java language and Java Platform. Similarly .Net is two things the .Net supported languages and .Net Platform. Now come to major difference which is root cause of differences between Java and .Net
The ideal of Java has always been a Single language shared by multiple Platforms. Whereas .Net is based on Multiple languages shared by single Platform. Now come to derived differences from this major difference.
1).Net has Multilanguage support. While java has based on java language only. According to Microsoft latest news .Net support around 40 languages including major market share COBOL, Vb.net, C#.net, Perl and many others.
2)Since java is multiplatform so it's set of Framework Classes is limited to what is available on all platforms. While .Net has set of all the Classes available on Microsoft Platform.
3)According to Sun, Java is renowned as "Write once run anywhere". While .net has no such scene. But my perception is, its not completely true to say "Write once run anywhere" but one aspect is that most of the applications written today focus on one platform only. Similarly to assure its multiple support much time needed to debug it on all platforms. So I would like to say Sun that it's not "Write once run anywhere" but its "Write once and Debug everywhere.
4).Net due to disconnected data access through ADO.Net has hi level of performance against Java JDBC which requires multiple round trips to data base.
5)Java has support to open source platform while .Net has no direct support for Open source Platforms.
If you are satisfies my answer then please you can't forget thanks.