Table of Contents
Introduction > Why choose Java
In a computing world dominated by Microsoft Corporation, it would appear that we have few alternatives to Microsoft Windows. Windows has achieved such a dominance in the operating system market that according to TheCounter.com's Global Statistics, as of July 2001, Microsoft's OS is used on 94% of the world's computers. Some may argue that these statistics paint only a picture of the desktop market and shed no light on that of servers. Indeed many may have the impression that this particular market is dominated by robust Unix compliant OS's such as Linux, FreeBSD, Solaris, etc..., but the reality is that, according to Netcraft's authoritative web server survey, approximately 50% of servers now run Windows NT/2000.
What this means is that few companies are willing to invest the time and money necessary to develop software for any platform other than Windows. People using Macintosh or Linux as their operating system are thus extremely limited in their choice of software. Java promises to change all of this by allowing programmers to develop software that can run on virtually any platform without any modifications or recompiling whatsoever.
Java's virtues are not limited to cross platform compatibility either. Java is the only programming language that allows for web programming, using Applets. It may also be used as a server side scripting language, through JSPs (Java Server Pages) and Servlets or by writing plain Java applications and executing them through the ubiquitous CGI interface. Furthermore, you can still use Java to write plain, non web based, applications if you desire. Java also promises to be present in the embedded computers of tomorrow, is already available as a viable programming language on the Palm Pilot series of hand held computers and is being used in new places every year. To my knowledge there is no other programming language that offers this much versatility.
Java is also great as a modern introductory programming language for the beginner, effectively taking the place of Pascal, since it conforms 100% to the object oriented programming model, which we will explain in detail shortly. It also has the strictest rules of any programming language I have ever encountered, which is good for new programmers who may not be aware of all the different subtle problems that can occur when code is not perfect. This has lead people to accurately declare that "The basic philosophy of Java is that bad code will not run". Java also frees the developer from having to deal with external dll's and resource files since almost every element can be hand coded with surprisingly little effort. It also eliminates the use of pointers and object destruction (which can lead to memory leaks) by implementing a transparent feature called the Garbage Collector. It is for these reasons that most people will experience a significant productivity jump when switching from traditional programming languages, such as C++, Visual Basic, Pascal/Delphi, to Java. If fact, to make the jump easier, Java borrows practically all of its simple, non object oriented, commands directly from C.
Finally, if you are not yet convinced that Java is for you, Java has one last advantage: it is completely free. Currently the Java Development Kit (JDK), which is all you really need to program in Java, is available as a free download from Sun Microsystems for Windows, Linux and Solaris. Likewise, Forté, a complete graphical Integrated Development Environment (IDE) is also available for free. Sun has also provided extended documentation and tutorials in an effort to make Java accessible to all. Moreover, all other add-ons, extra documentation, help, etc..., is also available freely. This is quite a relief when compared to the world of Microsoft Windows, where Microsoft Visual Studio Enterprise Edition 6, Microsoft's ultimate collection of programming tools for Windows, sells for approximately $1700 US
Of course if there existed such a perfect programming language, it would be hard to imagine why any one would stick to the old ones. As anything else in this world, Java is not perfect. Since it runs on top of a Java Virtual Machine (JVM) it is way slower than platform dependent programming languages. However, with the current progress of technology (as of the writing of this article, Intel has just released the 1.8 Ghz chip) it is quite probable that processing power will become so abundant that the speed of java will no longer matter. Java also does not permit the access of system dependent functions, although this is changing with the Java Native Interface (JNI).
If you are convinced to enter the realm of Java, I suggest you start with this quick guide that promises to get you up and running in no time.