The purpose of writing this article is to provide a layman term of explaining the similarities and difference between Java and .NET. I always have students asking me the difference between each of them and whenever I answered their question, they still have doubts due to the lack of fundamental understanding between each of them.


So before we start comparing them, we must first understand their definition. What are they? What do they do? Who developed them? What do they contain and etc.

What's the Difference Between Java and Dot NET

The purpose of writing this article is to provide a layman term of explaining the similarities and difference between Java and .NET. I always have students asking me the difference between each of them and whenever I answered their question, they still have doubts due to the lack of fundamental understanding between each of them. So before we start comparing them, we must first understand their definition. What are they? What do they do? Who developed them? What do they contain and etc.

JAVA

Java is an open-source implementation of the Java Platform, developed by Sun Microsystem (bought over by Oracle). Its Java programming language is a lightweight programming language that can be run on any operating systems such as UNIX, Linux, Windows and etc. with the help of JVM (Java Virtual Machine). Source programs that are written in Java, is first compiled to machine-independent code, called bytecode. During run time, the virtual machine reads the bytecode and executes it by translating it to target machine instructions for the operating system.

.NET

.NET is a software framework developed by Microsoft. It runs primarily on Microsoft Windows Operating System. The .NET framework consists of two key components: .NET Framework Class Library, and Common Language Runtime (CLR). The .NET Framework Class library has a collection of programming languages that is capable of developing different types of software applications such as desktop, server and mobile applications. These include support for simple data types, I/O functionalities, database support, Graphical User Interfaces (GUIs) and etc. Common Language Runtime provides support for Microsoft Intermediate Language (MSIL) code execution, by providing features such as code checking and compilation.

After having a basic understanding of each of them, I will be providing a comparison between them. I will first compare them based on their similarity, then follow by their difference in terms of developing different types of software application such as desktop, web and mobile applications.

SIMILARITIES

 Both are capable of developing quality and high-end application software. Both have programming languages that serve different types of software application needs. Both have a collection of APIs for development purposes.

Differences in Desktop Application Development

 Java AWT (Abstract Window Toolkit) and Swing Library are used to develop Java Desktop Application. To develop a more interactive Desktop Application like Adobe Flash, developers may use JavaFX. .NET has a popular desktop development platform that uses the Windows Forms, Windows Presentation Foundation, and Silverlight. Both platforms, Java  provides drag and drop features for implementing desktop application in their Integrated Development Environment (IDE)

 

Differences in Web Application Development

    Competition between the use of Java Enterprise Edition and Microsoft in developing dynamic web application software.    JEE mainly uses Apache Tomcat as its application server and Microsoft uses Internet Information Services (IIS).

The difference in Mobile Application Development Competition between Java Mobile Edition (Java ME)  Compact Framework.