Vaudra-t-il encore la peine de consacrer du temps à l’étude du langage Java en 2020 ?
Voici 10 raisons de répondre à l’affirmative, selon l’éditeur du blog Javarevisited
La fin d’année est l’occasion pour chacun de faire le bilan et de se projeter dans l’avenir. Pour les travailleurs de la filière informatique connue pour les constants changements en termes de compétences requises, ça peut être l’occasion de décider de consacrer du temps à l’étude d’un nouveau langage de programmation. Dans une publication parue il y a peu, Sylvain Saurel, l’éditeur du blog Javarevisited, explique pourquoi Java reste un bon parti pour l’année 2020 qui s’approche à grands pas. Voici ses raisons :
1. Java peut tout faire
Le langage de programmation Java n'a pas été le leader depuis plus d'une décennie maintenant par hasard. En effet, Java vous permet vraiment de tout faire dans le monde de l'informatique.
Avec Java, vous pouvez créer des applications de bureau en utilisant l'API Swing ou JavaFX. JavaFX est une solution plus moderne pour le développement d'interfaces graphiques. Depuis Java 11, JavaFX a été développé par la communauté OpenJFX, qui fait un excellent travail. La spécification Jakarta EE, anciennement Java EE, permet le développement d'applications web complètes (Internet ou Intranet). Cette spécification fournit une pile complète qui permet aux développeurs d'architecturer leurs applications de la meilleure façon possible. Tout cela explique pourquoi Jakarta EE est si populaire dans les entreprises.
L'hégémonie d'Android sur le monde de la téléphonie mobile permet également à Java d'être le langage idéal pour développer des applications mobiles.
Dans le monde du cloud computing, les principaux fournisseurs de services tels qu'Amazon, Google et Microsoft prennent tous en charge le langage de programmation Java pour le développement d'applications.
Bien sûr, Java reste présent dans le système embarqué avec la solution Java Card. L'Internet des objets (IoT) est appelé à connaître une croissance exponentielle à l'avenir avec le déploiement de la 5G dans le monde entier. Là encore, Java est là parce qu'il est largement utilisé dans ce domaine prometteur. Enfin, si elle n'est pas nécessairement la solution préférée en science des données ou dans le monde de l'apprentissage machine, Java a aussi ses adeptes dans ces domaines.
Bref, Java permet de tout faire correctement. Ce n'est pas toujours la solution la plus appropriée, mais un développeur Java a un très large éventail de possibilités.
2. Java est facile à étudier
Apprendre à programmer n'est jamais facile. Si c'est votre cas, vous aurez besoin d'une forte volonté pour y parvenir. Néanmoins, à mesure que vous apprendrez, vous réaliserez que tous vos efforts en valent vraiment la peine. Java est facile à apprendre parce qu'il est très populaire et qu'un grand nombre de ressources gratuites sont disponibles pour la formation.
De nombreux tutoriels sont disponibles mais aussi un grand nombre de forums où vous pouvez poser des questions lorsque vous êtes bloqué dans votre apprentissage. Ensuite, d'un point de vue technique, Java est idéal car c'est un langage impératif mais aussi orienté objet. Ces deux paradigmes sont les plus courants dans les entreprises mais aussi les plus faciles à maîtriser pour les débutants. Enfin, si vous êtes un développeur expérimenté avec d'autres langages orientés objet, vous serez rapidement à l'aise avec Java, qui offre une API riche et intuitive avec une documentation de très haute qualité.
3. Java est largement utilisé dans les entreprises
Dans le monde de la programmation informatique, plusieurs méthodologies sont utilisées pour mesurer la popularité d'un langage de programmation. Parmi les méthodologies existantes, l'indice TIOBE est fréquemment utilisé comme référence.
L'index TIOBE classe toujours Java comme le langage le plus populaire. La popularité du langage Java se retrouve dans les entreprises où il est largement dominant, mais aussi dans les universités où il est de facto très souvent enseigné aux étudiants. Enfin, les développeurs débutants s'y intéressent de plus en plus à mesure qu'ils se lancent dans le développement d'applications Android dans leurs temps libres.
Le fait que Java soit si répandu en fait un excellent choix car une fois que vous le maîtrisez, vous pourrez postuler à de nombreux postes de développeur Java dans des entreprises ou essayer d'obtenir des missions de développement Java en freelance. Investir du temps dans l'apprentissage de Java est donc une garantie que vous en tirerez profit dans votre carrière de développeur.
4. Java a une communauté forte
La communauté Java est l'une des plus importantes dans le monde de la programmation informatique. C'est tout à fait logique puisque Java est un langage ultra populaire et open-source. La forte communauté Java est un grand atout puisque vous trouverez toujours une bibliothèque déjà écrite qui répond à vos besoins.
Cette abondance de projets open source écrits en Java vous donnera un large choix de bibliothèques de code lorsque vous rencontrez des problèmes. Comme je l'ai expliqué plus tôt, cette communauté solide est également un atout important lorsque vous rencontrez des problèmes de développement de programmes en Java. En effet, quelqu'un aura probablement déjà rencontré votre problème et vous gagnerez un temps précieux en consultant la solution qu'il a utilisée.
Enfin, cette forte communauté permet aux développeurs Java de disposer gratuitement de toute une série d'excellents outils tels que les IDEs (Eclipse, IntelliJ IDEA,...), les gestionnaires de dépendances (Maven, Gradle, Ant,...) ou les serveurs d'applications (Tomcat, TomEE, WildFly, Jetty, ....).
5. Java est gratuit
En 2018, Oracle a annoncé d'une manière quelque peu confuse que le JDK serait désormais facturé pour les utilisations professionnelles en production. Évidemment, la confusion a conduit certains à soutenir que Java est devenu un service payant ! Contrairement à ce que certains ont pu croire ou dire, Java est toujours gratuit.
En réalité, Oracle distribue maintenant deux versions du JDK : Oracle JDK et Oracle OpenJDK. Oracle JDK est un environnement de développement et de test gratuit mais vous devez payer pour l'utiliser en production. Il s'accompagne d'un support à long terme de la part d'Oracle. D'autre part, Oracle OpenJDK est gratuit pour tout environnement.
Ainsi, Java reste gratuit tant que vous utilisez Oracle OpenJDK. De plus, il existe d'autres implémentations du JDK que vous pouvez choisir d'utiliser, ce qui garantit que Java est libre à long terme. Par exemple, vous pouvez utiliser les builds JDK proposées par la communauté AdoptOpenJDK. Plus récemment, Amazon vient de mettre à disposition ses propres builds JDK sous le nom Amazon Corretto avec un support à long terme totalement gratuit.
Le fait que Java soit gratuit et surtout qu'il le restera à l'avenir est un point fort en sa faveur. C’est un point sur lequel je vous conseille de vous pencher particulièrement lorsque vous faites le choix d’un nouveau langage de programmation à étudier.
6. Java est le cobol du 21e siècle
Ce titre est un peu provocateur, je dois l'admettre. Je crois qu'il a tout de suite attiré votre attention. En effet, vous devez vous demander pourquoi je vous conseille d'apprendre Java en 2020 alors que je l'appelle le Cobol du 21e siècle. Le fait que Java soit le Cobol du 21e siècle est quelque chose de positif pour moi.
La langue Cobol a été créée en 1959. Alors qu'il vient de fêter ses 60 ans, Cobol est toujours très populaire dans les banques et les compagnies d'assurance. Plus de 60 ans après sa création, Cobol est toujours présent dans les entreprises et permet aux développeurs de gagner des salaires confortables pour maintenir toutes les applications créées au cours des dernières décennies. Java a été créé en 1995 et est extrêmement populaire dans les entreprises. Je fais un parallèle avec le Cobol pour vous montrer que Java sera encore une solution largement utilisée dans les entreprises en 2050 et sûrement même en 2100. En fait, le besoin pour les développeurs de maintenir le très grand nombre d'applications Java déployées sera toujours énorme. En choisissant Java en 2020, un développeur s'assure une carrière complète dans l'industrie informatique.
7. Java est également une plateforme d’exécution avec la JVM
Java est un langage de programmation ultra populaire. Cependant, Java est bien plus que cela. En effet, Java est aussi une plate-forme d'exécution complète avec sa machine virtuelle, la fameuse JVM (Java Virtual Machine).
Kotlin, Scala ou Groovy sont les langages de programmation les plus populaires parmi les nombreux langages fonctionnant sur la JVM. Une fois que vous aurez appris le langage de programmation Java, un nouveau monde s'ouvrira à vous : le monde des langages de programmation fonctionnant sur la JVM. Kotlin, Scala ou Groovy sont les plus populaires, mais il y en a d'autres. Chacun de ces langages a été lancé pour combler certaines lacunes de Java dans des domaines spécifiques. Lors de sa création, Scala visait à rendre la programmation fonctionnelle accessible sur la JVM par exemple. Face à la popularité significative de Scala, Java 8 a finalement vu le JDK acquérir un certain nombre de fonctionnalités du monde de la programmation fonctionnelle. Ces langages open source fonctionnant sur la JVM peuvent donc être considérés comme des champs d'expérimentation que les architectes Java utilisent ensuite pour améliorer le langage. Kotlin a aussi un bel avenir devant lui puisque Google l'a choisi comme deuxième langage de programmation officiel pour le système d'exploitation Android.
8. Java est très rapide
En étudiant le langage de programmation Java en 2020, vous entrerez dans le monde de la JVM. C'est un univers de rapidité. N'écoutez pas ceux qui prétendent encore que Java est lent comparé aux langages compilés comme C et C++. La soi-disant lenteur de Java est un mythe qui a survécu. Ce mythe est basé sur une certaine vérité puisque les premières versions de Java étaient en effet plus lentes que les langages compilés tels que C ou C++. Pour tenir sa promesse "Write Once, Run anywhere", la plate-forme Java a dû faire quelques concessions et sa machine virtuelle, la célèbre JVM, a ajouté une couche logicielle. En fait, le rendement pourrait en souffrir dans certains cas particuliers.
En plus de ce problème de la couche logicielle supplémentaire, certaines implémentations de la JVM ont été très lentes au début. Néanmoins, ce mythe a survécu et les amateurs de C ou de C++ doivent se rendre à l'évidence : la JVM est maintenant rapide. Je dirais même qu'il est ultra-rapide ! De plus, le matériel a tellement progressé depuis les premières années de Java que l'ajout d'une couche logicielle supplémentaire, comme la JVM, n'a pas d'impact réel sur les performances de la grande majorité des applications d'entreprise.
Enfin, le compilateur JVM Just-In-Time (JIT) est une pure merveille qui améliore grandement les performances des applications Java. Le niveau de performance atteint par la JVM est aujourd'hui tel qu'elle sert de plate-forme d'exécution pour un grand nombre de langues Kotlin, Groovy et Scala. Il ne s'agit donc plus seulement du langage Java mais aussi de l'écosystème Java. Aujourd'hui, Java est une plateforme évolutive et parfaitement adaptée aux défis informatiques de demain.
9. Java évolue rapidement
A la fin du règne de Sun Microsystems à la tête du JDK, les évolutions de Java ont eu tendance à ralentir considérablement. Les premières années d'Oracle à la barre de Java n'ont pas été meilleures. Ainsi, il a fallu 11 ans entre Java 6 et Java 9 ! A partir de Java 9, Oracle a décidé d'adopter un nouveau cycle de vie pour les versions Java. Ce nouveau cycle de vie garantit une nouvelle version majeure de Java tous les 6 mois avec de nouvelles fonctionnalités expérimentées plus rapidement grâce aux deux statuts suivants : preview et incubateur.
Depuis la sortie de Java 9 en septembre 2017, Oracle a maintenu ce rythme, ce qui permet à Java d'évoluer plus vite et de répondre plus rapidement aux attentes des développeurs. Ainsi, Java 14 est déjà prévu pour mars 2020.
10. Java dispose d'une API standard riche
Le JDK offert avec le langage de programmation Java fournit aux développeurs une API standard extrêmement riche. Ainsi, vous pourrez créer des interfaces graphiques pour le bureau avec Swing ou AWT, faire de la programmation multithread, gérer les opérations d'entrées/sorties, effectuer des opérations réseau, accéder aux bases de données ou même manipuler le temps sans avoir besoin de bibliothèques de codes externes. La richesse de l'API Java standard est un atout majeur. Avec Java, vous pouvez toucher tous les fondamentaux de la programmation informatique directement sans avoir à gérer tout un tas de dépendances.
Bien entendu, vous devrez intégrer des bibliothèques de code externes lors du développement d'applications plus complexes par la suite. Néanmoins, pour votre apprentissage du langage Java, l'API standard sera plus que suffisante.
Conclusion
Alors que nous entrons dans une nouvelle décennie en 2020, Java est plus que jamais un langage de programmation à apprendre. Que ce soit en tant que premier langage ou pour élargir vos compétences en programmation, Java vous apportera beaucoup et sera un atout important pour votre carrière. Bien sûr, Java n'est pas toujours le langage le plus approprié pour chaque domaine de l'industrie informatique. Néanmoins, Java a l'avantage d'être polyvalent tout en bénéficiant d'une plateforme d'exécution, la fameuse JVM, extrêmement puissante qui vous donnera la possibilité de créer des programmes performants et évolutifs.
Source : blog Javarevisited
Et vous ?
Qu’en pensez-vous ?
Ce point de vue reflète-t-il la réalité ? Si non, quels sont les aspects qui vous posent des problèmes ?
Êtes-vous en accord avec l’idée (qui filtre de ce billet de blog) selon laquelle Java est l’outil qui ne doit pas manquer à l’arsenal du travailleur de la filière programmation informatique ?
Quels sont selon vous les indispensables de l'arsenal du travailleur de la filière programmation informatique ?
Voir aussi :
Android : Kotlin est désormais le langage préféré et recommandé par Google. Vers la fin de Java pour le développement Android ?
SQL et Java sont encore les compétences techniques les plus demandées en 2019, selon un rapport d'étude
Redmonk : Swift progresse de façon spectaculaire, Go également, JavaScript et Java au coude à coude pour la première place
Entre Java et Kotlin, lequel de ces langages est le meilleur pour le développement d'applications Android ?
L'équipe Microsoft Security Response Center recommande l'utilisation de Rust comme approche proactive pour un code plus sécurisé
Partager