Java’s Strengths:
- Ubiquitous — A good language for big enterprise programming projects, widely available. Very flexible, well designed language and runtime environment
- Community — The preferred language of the C -like syntax community. IBM is a favorable supporter.
- Integration — When Java shifted from the client to the server, enterprise integration became very important. With the partnership of Oracle, IBM, Borland, SUN and others, they enabled Java connectivity to databases. Provides excellent facilities for mapping object -oriented models to relational databases. Most major vendors support Java.
- Portability — Portable “write once, run anywhere” slogan
Java’s Weaknesses:
Java has an immense community, but has:
- Lost its missionary zeal and enthusiasm.
- Began to be seen as too heavy -handed by trying to be all things to all people.
- Faced accusations of being overly complex and lacking in agility.
- Become too large and cumbersome, causing many users to move to newer technologies.
- Become a modern “Cobol.”
- Lacks object-oriented purity.
- Primitive types are not objects.
- Auto-boxing made to solve this, but adds complexity.