Java:
Java refers to a number of computer software products and specifications that together provide a system for developing and deploying cross-platform applications. Java is used in a wide variety of computing platforms spanning from embedded devices and cell phones on the low end to enterprise servers and super computers on the high end.
Java has gained enormous popularity since it first appeared. Its rapid ascension and wide acceptance can be traced to its design and programming features, particularly in its promise that you can write a program once, and run it anywhere. With Java, you can often get software for free and is one of the first programming languages to consider security as part of its design.
Security measures cannot be implemented with any degree of assurance without a reliable framework for program execution. Java provides multiple levels of reliability measures, beginning with the Java language itself.
Java pros:
- Java's population of programmers is huge.
- Java's open source community thrives. Open source projects exist across a wide spectrum of problem spaces and fill many different niches.
- With Java, you can often get software for free that you'd have to build yourself or pay for on other languages.
- Java is mature. Java is often the safest choice.
- Java is scalable. We've learned enough from experience to build applications that scale.
- Java offers choice.
- Java Technology is mature and provides proven solutions for enterprise level problems such as Two-phase commit, and distributed objects.
Java cons:
Like any programming language, Java is not without drawbacks. A study conducted by Wily in 2003 has reported the J2EE performance and availability was generally average to poor. Java has also been receiving stiff competition with IBM launching consulting support for PHP in February 2005.
The Java platform is weakening:
Successful programming languages seem to emerge every decade or so. Bell Labs developed the C programming language in the early 1970s, C++ was released by AT&T in 1985 and slowly subsumed C because it had features allowing object-oriented programming. Sun released Java in 1996, and it rapidly emerged as a popular language for Internet development. Java has been growing steadily ever since. Trivial logic dictates we're due for a new programming language around now, and Java should start to decline soon.
Complexity:
Java's complexity is increasing. With one massively complex framework after another, Java vendors embraced EJB and the most complicated version imaginable of web services and XML. EJB vendors redesigned EJB from scratch twice, forcing significant migrations on their customers.
Availability:
In a 2003 study, Wily (http://www.wilytech.com/news/releases/031120.html) reported that J2EE performance and availability were generally average to poor.
Competition:
In February 2005, IBM announced consulting support for PHP. Ruby on Rails has passed 500,000 total downloads. Peter Yared, Sun's previous application server CTO (http://www.theserverside.com/news/thread.tss?thread_id=36129) predicted that J2EE would lose to LAMP (open source software consisting of Linux, Apache web server, MySQL, and a dynamic language such as Python, Perl or PHP)
The next series will delve into the pros and cons of the Ruby language.
(The author is Associate Director of Engineering with Impetus Technologies)
/ciol/media/agency_attachments/c0E28gS06GM3VmrXNw5G.png)
Follow Us