J’aime Java. Après avoir beaucoup travaillé et souffert en PHP, j’ai trouvé dans ce langage la solution à beaucoup de problèmes. Voilà trois raisons qui font que c’est mon langage favori.
La syntaxe
Java a une syntaxe simple et assez fermée. Il y a rarement différentes façons d’exprimer la même chose et cela favorise l’homogénéisation du code lorsqu’il est écrit en équipe. C’est sans doute quelque chose de frustrant pour ceux qui sont un peu artistes mais je pense que c’est nécessaire pour industrialiser du code.
Cette syntaxe, couplée au typage statique, permet à des outils de comprendre l’intégralité du code et de nous aider à l’écrire. En plus du très net gain en productivité, cela permet d’avoir un feedback rapide sur le code qu’on écrit car l’outil fait un tas de vérifications à la volée. J’ai suffisamment introduit d’erreurs en faisant des refactorings à la main en PHP pour savoir à quel point c’est important, et je pense même que c’est le principal avantage de Java.
On peut par contre lui reprocher sa syntaxe parfois verbeuse, mais Java 8 va réduire cette verbosité, notamment grâce aux lambdas.
Le bytecode universel
Mine de rien, le fait que le bytecode Java fonctionne sur n’importe quelle plate-forme apporte beaucoup de facilité. On ne s’en rend pas vraiment compte, mais tout (ou presque pour ceux qui ont le malheur de faire du JNI) ce qui est publié par exemple sur le dépôt Maven Central sera utilisable n’importe où. C’est très loin d’être une évidence pour un certain nombre de langages. On notera cependant que la plupart des langages modernes d’aujourd’hui reposent sur ce principe, et d’ailleurs une partie d’entre eux utilise le bytecode Java.
Cela permet également de laisser aux développeurs plus de choix sur leur environnement de développement. Ils n’ont pas besoin d’avoir une machine qui tourne sur le même système que la prod, et c’est à mon sens important de travailler dans un environnement dans lequel on est à l’aise.
La richesse de l’écosystème
Java dispose d’un très grand écosystème et c’est un peu une histoire d’œuf et de poule. En effet, sa popularité fait que son écosystème se développe, mais c’est aussi grâce à son écosystème qu’il est populaire. On notera au passage que le bytecode universel dont je parle dans la partie précédente, associé aux outils tels que les dépôts comme Maven Central, simplifient énormément la distribution d’une bibliothèque.
Il existe des bibliothèques ou des frameworks pour tout : de l’interface graphique, du web, de la ligne de commande, de la manipulation de documents Office…
Côté outillage, Java est également bien placé. Il existe une multitude d’outils pour le build, pour l’intégration continue, l’analyse statique de code, le profiling, le déploiement, le monitoring…
On peut noter également qu’une très grande partie de cet écosystème est disponible sous licence libre.
L’image d’en-tête provient de Flickr.
Une réflexion sur « Pourquoi j’aime Java »