This page was saved using WebZIP 6.0.8.918 (Unregistered) on 01/20/05 오후 3:27:46.
Address: http://www.leepoint.net/notes-java/10background/10applications_and_applets/05intro/15disadvantages.html
Title: Java: Weaknesses  •  Size: 4077  •  Last Modified: Fri, 14 Jan 2005 00:25:11 GMT

Java: Weaknesses

Java is arguably the best overall programming languages, but there are problems with it.
Installing and Running Java Programs Elliotte Rusty Harold, author of several good Java books, described one of Java's main problems as "Java's insanely complex, difficult and unintuitive installation" process for Java programs. You won't find any disagreement with this. And by and large there's no need for these problems.
Changes Java has rapidly had three different versions (1.0, 1.1, 1.2, 1.3, and 1.4) with important changes in each version. These changes have created problems with incompatible versions. In Java's insane numbering scheme, version 1.2 and later are called Java 2.
Speed Java programs run faster than Visual Basic programs, but are sometimes slower than C programs. Java's speed has been improving with every new version, and it is now close to C/C++. To put this in perspective, the difference in speed is probably less than the hardware speed improvement in one year.
Lack of a few Features Java lacks a few features that some C++ programmers find useful, for example, enums, macros, operator overloading, generic types (templates), etc. Some of these features are planned for future versions, and some simply have to be rewritten in the Java style. Many of the "features" of C++ that are not in Java have been removed to make the language better (eg, pointers and multiple inheritance).
Enemies Because the portability of Java programs allows users to move programs from one operating system to another, users are no longer locked into one system. This is a great threat to Microsoft's monopoly, and therefore Microsoft is a big enemy of Java. Although apparently not trying to openly kill Java, Apple computer likewise shows little enthusiasm as suggested by their poor support for Java. It is, of course, good business strategy to create large switching costs for your customers. But it's not in the customer's interest.