This paper will provide a comparison between Java and the NET framework architecture.
The NET and Java have a lot of similarities, but they are also extremely different. To start the NET framework is built directly into the windows OS, which makes it very simple when deploying to a computer, in that it does not require the need to install any third party add-ons unless specifically used. Since the framework is built into the OS, it has built in functionality for using other OS dependent functionality. For example, it can offer access to Windows active directory. Java requires the use of the Java Virtual Machine (JVM) so that it can run the programs.
Both architectures have specific requirements for the development environment used to write against the frameworks. NET offers a single integrated development environment (IDE), called Visual Studio. The NET also offers several different programming languages that can be used against the architecture, the most popular being C#. Because Visual Studio is built by Microsoft, the creator of the NET framework, it integrates nicely with Windows and other Microsoft products. Visual Studio can also be used to develop add-ons for other Microsoft products such as Office or SharePoint. Java, on the other hand has several different IDE’s that can be used to develop against the architecture. Eclipse and Netbeans are two of the more popular IDE’s for Java development. Eclipse is not built specifically for Java but is the preferred environment, because of its open source history. Netbeans is built directly by Oracle, which makes it a more robust IDE when developing against the Java framework.
The NET framework compiles code to Intermediate Language (IL) which itself is a programming language. A programmer using the NET framework can write code directly in IL or decompile to IL. The NET common language runtime allows code written in any of the NET languages to use a shared set of components. The Java framework compiles code to Java byte code which is not a programming language, but it allows any program written in Java to run on any platform that runs a complaint JVM.
Both Java and NET are widely used in corporate environments for application development. The choice made by the company would be based several factors. If they are strictly and open source shop or a Microsoft based. This means if they are running servers that are based on open source architecture then chances are they are running a Java based application, but if they are known as a Microsoft shop chances are they are based on the NET framework. I personally have spent the last seven years working on the NET framework and even though everyone has their favorite, Java or NET, I have think that NET is more application friendly and a more robust IDE for developing services and web/desktop applications.