Behind the Scenes - Technology - Why we choose JavaLast Updated: 2002/Jan/21
It is easy to learn.
Not an often quoted benefit of Java, it is easy to learn and use. Maybe that is why it is becoming the number one language taught in colleges to teach programming.
Java is an object oriented language.
While there has always been much debate as to the overall merits of object oriented programming, there can be little disagreement that, when properly used, results in easier to read, more maintainable code. Code that is modular and re-usable.
Write once, run anywhere.
While this is a much maligned feature of Java, the fact is that it is acutally true when discussing code without GUI needs. cofax is a set of lower level components that can have a GUI written for them in any language, for any platform. Those components DO run on Windows NT, Linux, and Solaris.
Java has built in exception (error) handling procedures that helps to produce more robust applications and components.
The Servlet API
From the Servlet home page, "Servlets provide web developers with a simple, consistent mechanism for extending the functionality of a web server and for accessing existing business systems."
Says Hans Bergsten [see links to sources below], "It solves the performance problems of CGI by executing all requests as threads in one process, or in a load-balanced system, in one process per server in the cluster. Servlets can easily share resources [This is really key - Karl]. The Java security model makes it possible to implement fine-grained access controls, for instance only allowing access to a well-defined part of the file system. Java's exception handling also makes a servlet more reliable than proprietary C/C++ APIs - a divide by zero is reported as an error instead of crashing the Web server. "
The JDBC API
From the JDBC home page, "JDBC technology is an API that lets you access virtually any tabular data source from the Java programming language. It provides cross-DBMS connectivity to a wide range of SQL databases, and now, with the new JDBC API, it also provides access to other tabular data sources, such as spreadsheets or flat files. "
For example, we are using Ashna's JTurbo JDBC driver, on Solaris, to access Microsoft SQL Server, running on NT. Now that is cross-platform! JDBC really does allow us to implement a best-of-breed mentality with the database. That flexibility is priceless. Microsoft, if they made ODBC cross-platform, would have completely negated the need for this.
It's free, relatively 'open', everywhere, and having everything.
Says Jonathan Knudsen [see links to sources below], "Sun gives away Java development tools and the stuff you'll need (a runtime environment) to run Java applications. There are no license fees to be paid, no nasty multi-thousand-dollar development environments to buy. There isn't even a catch, like that you have to shell out a few G's to get the Professional Edition that does all the cool stuff. Sure, Sun has their own agenda; Scott McNealy would be more than happy to take over the world. But you really can use Java without paying anyone.
Furthermore, the APIs are a vast treasure trove of working, reliable code that help you do all sorts of stuff. Want to use network sockets? It's in there. Want to connect to a SQL database? It's in there. "