Introduction to OOP: Java
Final Research Paper
"The future of software development is now expected to be a near 50-50 split between Java and .Net. When making a decision on which technology to bank on, you should really research what types of companies use which technology, and which fits into your career aspirations. Java and .Net overlap in a lot of markets and inevitably each will form definitive niches that will be hard to break until newer model-based programming technologies take over." -Payton Byrd, Java vs .Net - The Professional Software Developer's Survival Guide
This research paper provides an analysis of the Java and .NET development environments, as well as examining the legal history between Sun Microsystems Inc. and Microsoft. Both frameworks serve many of the same purposes and have many of the same features; however, Java is found to be more flexible and configurable, whereas .NET is more user-friendly and secure. Java does have an edge in terms of the open source community, with many implementations from many vendors available for purchase or distributed freely. Because both platforms perform comparably and have their own distinct advantages and disadvantages, they will both continue to remain viable despite their competition with one another.
In the world of programming, two frameworks have emerged as the primary choices for developers, especially in the development of web applications: Oracle's Java and Microsoft's .NET. For most programmers, the choice comes down to a matter of personal preference; however, both frameworks have fervent supporters and detractors. The issue came to a legal head when Sun Microsystems (the original owner of Java) filed a lawsuit against Microsoft in 1997 over their licensing agreement, and again in 2002, when Sun filed an antitrust lawsuit against Microsoft over its implementation of .NET. In the years since, the debate over Java versus .NET has played out in several ways. For one, Java has faced numerous security issues in recent years; however Java remains a popular choice primarily because of the fact that it is open source code, as opposed to Microsoft's proprietary .NET framework.
When Java was introduced in 1995, it freed programmers from having to write different versions of the same application for different operating systems (IBM, p. 2). Per Oracle's web site, the design objectives of Java are as follows: 1) object-oriented, simple and familiar language, meaning that the language is simple enough to be programmed without extensive training, and familiar because it is derived from the C++ language; 2) robust and secure language, meaning the software programmed is reliable and safe; 3) architecture neutrality and portability, meaning that Java can be used across different platforms; 4) high performance, and 5) the ability to be interpreted, threaded and dynamic, meaning applications can be built with multiple threads of activity with a high degree of interactivity for the end user (Sun Microsystems, Inc., 1997). The four main elements of Java consist of the programming language itself, class libraries, the Java compiler, which translates developer-written code into Java bytecode, and the Java Virtual Machine (JVM), which translates the bytecode into instructions comprehensible to the underlying operations system. Together, the Java class libraries and JVM make up the Java Runtime Environment (JRE) (IBM, p. 4-5).
While engaged in legal battles with Sun over its Java licensing agreement, Microsoft began developing their answer to Java, the C# programming language (Wong & Foley, p. 2) as part of their new .NET framework. The objectives of .NET include: 1) providing a consistent object-oriented programming environment regardless of where object code is stored; 2) a code-execution environment that minimized software deployment and...