Java: Strengths

Java is an excellent programming language. For most programming it's better than older programming languages like C or C++.
Productivity The top reason Java has become popular is because of the increased productivity of Java programmers. It is claimed, and my experience is in agreement, that Java programmers have about double the productivity of C/C++ programmers.
GUI Java a good, portable library for a Graphical User Interface (GUI). Most programming languages supply only a text mode interface.
Internet Java lets you easily use the Internet. Most languages were designed before the Internet was born!
Portability Java programs can run on many different machines (Intel, Sparc, PowerPC, ...) and many different operating systems (Windows, Unix, Macintosh, ...). You can move a C program if it is written very carefully, but it is usually difficult or impossible. In contrast, it easy to move most Java programs.
Reliability Java programs are more reliable because Java doesn't have very dangerous things like C/C++'s pointer arithmetic. Java also checks array bounds and other error-prone operations. Memory management is much safer because Java does automatic garbage collection.
Libraries Java has a very large number of packages which extend the language. Therefore it is unnecessary to call the operating system directly.
OOP Object-oriented programming features (inheritance, encapsulation, and polymorphism) make many programs, especially large programs, easier to write.
Large Programs Java supports large programming projects with object-oriented programming, packages, and components (JavaBeans).