Die Architektur der Sprache ist zur Zeit auf dem modernsten Stand der Programmiersprachen-Entwicklung. Sie beinhaltet vor allem objektorientiertes Programmieren (OO), multiple threads so wie ereignisorientiertes Programmieren [1].
Objektorientiertes Programmieren wird dem Programmierer unter Java aufgezwungen. Programme im klassischen prozeduralen Stil, können in Java nicht entwickelt werden.
Wenn es sich nur um kleine Programme handelt, die weder modular, flexibel oder erweiterbar sein müssen, kann eine moderne Sprache wie Java nicht viele Vorteile bieten.
Die Stärke von Java liegt in der Fähigkeit zur Modularisierung und flexiblen Programmierung. Dies kommt vor allem größeren Projekten zugute, an denen auch mehrere Programmierer beteiligt sein können.