Java
15 ans d'histoire pour une place de leader
Inventé dans les laboratoires de Sun Microsystems il y a quinze ans par l'équipe de James Gosling, le langage Java a su détrôner ses prédécesseurs a la place des langages de référence utilisé dans les entreprises, les systèmes embarqués, les sites internet, etc. Il n'y a guère que dans le domaine de l'écriture des systèmes d'exploitations que sa place de leader ne pouvait pas se faire.
Facteurs clés de succès
Le formidable succès de cette plateforme est une combinaison de facteurs de succès :
- Un langage véritablement orienté objet , dès les "fondations". La plupart des langages existant sont devenu objet par extension, plus qu'il ne l'étaient fondamentalement dans leur concept, nottamment pour attirer des populations de développeurs d'autres langages non objets. Par contre, on ne peut faire du java sans avoir compris et intégré profondément la philosophie radicalement différente, plus complexe mais aussi plus puissante, de la programmation objet. L'expérience montre que les développeurs qui maîtrisent java s'adaptent facilement aux autres langages, alors que l'inverse n'est pas vrai;
- L'indépendance de la plateforme . Le concept de machine virtuelle a permis de développer la philosophie "Write Once, Run Everywhere", générant des économie d'échelle dans la fabrication des applications
- L'orientation vers les architectures web / trois tiers . A l'époque où les premières pages dynamiques apparaissaient sur une toile encore embryonaire, java a inventé les concepts fondamentaux (pages JSP, notion de serveur d'application, introduction des services web, couche d'accès aux données, design patterns) permettant de passer du mode client/serveur aux applications en ligne.
- Des concepts révolutionnaires pour les développeurs : multithreading, sérialisation, génération de documentation à partir du code, test unitaires programmés, introspection, interfaces graphiques standardisées, etc.
Les inconvénients de ses avantages
Les forces de java ont amené son succès. Mais elles ont induits aujourd'hui sa faiblesse principale: l'ouverture du langage et son attractivité ont multiplié les manières de faire des applications en java :
- Multiplicité des serveurs d'application : Websphere, Weblogic, JBoss, Tomcat, etc.
- Multiplicité des frameworks et architectures : Struts (1 et 2), Spring, Hibernate, JSF, Open JPA, EJB (2 et 3), GWT, etc.
- Multiplicité des couches applicatives : Liferay, Jahia, etc.
Pourtant les choix sont très structurant pour les entreprises et induisent des virages technologiques parfois coûteux, et une approche [...]
