Alors que Java renfermait la promesse d'un environnement de programmation à vocation universelle et indépendant des plateformes cibles, il semble bien qu'il est surtout utilisé pour la programmation des applications d'entreprise. Java n'est pas à proprement parlé menacé d'obsolescence, mais, sous la pression d'environnements plus modernes et, surtout, plus simples d'emploi, comme Ruby on rails, PHP et Ajax, le langage de Sun perd de sa superbe. Le principal reproche des développeurs à l'encontre de Java porte sur sa complexité. A vouloir qu'il soit présent partout et pour tout type d'usage, ses créateurs en ont fait un monstre qui a surtout gagné en pesanteur. Du coup, des environnements plus légers et plus ciblés - en particulier dans le monde des applications Internet - lui chipent la préférence. La lourdeur de Java est devenue telle qu'il semblerait même que .Net de Microsoft en profite. Autre point faible de Java, sa lourdeur lorsque la cible de programmation est une plateforme mobile. En particulier son interface utilisateur et son empreinte mémoire. On comprend ainsi pourquoi Google travaille sur Android, son propre environnement. Ce constat intervient juste au moment où Sun Microsystems décide de changer son sticker d'identification en bourse SUN pour JAVA.