Les applications informatiques gèrent des volumes de données toujours plus importants, y appliquent des traitements toujours plus complexes, tout en devant maintenir un niveau de performance acceptable pour leurs utilisateurs. Elles fonctionnent sur des processeurs devenus multicœurs, et doivent paralléliser ces traitements complexes afin de les exploiter. Les langages, et Java ne fait pas exception, doivent s’adapter à ces évolutions.
Java a presque 20 ans d’existence, et sa version 8 le met en excellente position pour relever ces défis. Avec Java 8, le langage lui-même évolue, de nouvelles API apparaissent, et surtout, de nouveaux patterns sont introduits. Java 8 apporte deux éléments majeurs aux applications : la simplification du développement de traitements complexes, et les gains en performance par la mise à disposition du parallélisme directement au sein des API. Java 8 apporte donc des réponses spécifiques aux traitements des très grands volumes de données, en parallèle.
Java est un langage qui a été conçu pour “résoudre les problèmes réels”, ce dicton des premiers concepteurs du langage reste pleinement valide, et c’est ce qui fait sa force, aujourd’hui encore.
Java : stabilité, maturité et modernité
Java ne cessé d’évoluer depuis 20 ans. Le langage, ses API et la machine virtuelle ont bénéficié d’investissements en Recherche et Développement considérables, incomparablement supérieurs à tous ses concurrents. D’innombrables gourous du monde de l’informatique ont contribué et contribuent encore à son évolution, tels que Doug Lea, Brian Goetz, Neal Gafter, Cay Hortsmann, John Rose ou Gilad Bracha.
Java 8 est le fruit de ces investissements. C’est un langage moderne, parfaitement adapté aux nouvelles architectures multicœurs des processeurs, notamment en proposant le parallélisme dans ses API. Cette nouvelle version de la plate-forme est une révolution, dans la continuité d’une mutation commencée avec Java 7. Les migrations vers Java 8 et ses nouveaux patterns apporteront de nouvelles performances aux applications, inaccessibles en Java 7. La dette technique inhérente à une migration trop tardive risque d’en être plus lourde.
Quel sera le coût pour passer à Java 8 ?
La migration vers Java 8 doit être vue différemment des migrations précédentes. Si la compatibilité ascendante reste garantie, on ne pourra bénéficier pleinement des améliorations de performance qu’au prix d’une réécriture au moins partielle des traitements algorithmiques du code.
L’application de ces nouveaux patterns ne se fera pas sans difficultés, et devra être préparée en amont, avec soin.
Pourquoi continuer à utiliser Java ?
Java compte aujourd’hui plus de 12 millions de développeurs et est déployé sur des milliards d’appareils électroniques. ll reste le langage préféré des développeurs, le plus utilisé à travers le monde, et le plus enseigné dans les écoles et universités. La plate-forme est soutenue par Oracle en premier lieu, mais aussi par des sociétés majeures telles que Google, IBM, Intel ou Red Hat.
Java bénéficie également d’un écosystème open source extrêmement développé, sans équivalent ailleurs. Cet écosystème propose une multitude d’outils de très grande qualité, souvent appuyés par des sociétés majeures, supportés commercialement, et donc utilisables dans les projets les plus exigeants.
Java et la sécurité et la mobilité
La question de la sécurité de Java 7 a plusieurs fois fait la Une des journaux spécialisés. Ces problèmes ont été pris très au sérieux par Oracle, qui les a corrigé très rapidement. Java 8 bénéficie bien sûr de ces correctifs. Notons tout de même que les applications serveur n’étaient pas concernées par ces failles. Leur impact réel a donc été minime.
De part l’ouverture de son modèle, Java autorise la conception d’applications modulaires écrites dans différents langages, chacun de ces modules pouvant communiquer avec les autres simplement et de façon performante. Utiliser Java pour de telles applications permet donc de choisir le meilleur outil pour résoudre chaque problème.
Java 8 favorise et donc pérennise cette approche, très utilisée pour développer les applications mobiles jetables, imposées par la révolution digitale. La maturité de la plate-forme permet, même dans ce contexte, de produire des applications de haute qualité, dans le respect des délais et des coûts de développement.
Java reste une plate-forme stable, mature et pérenne. La version 8 apporte à Java ce qui lui manquait pour traiter les problématiques des applications d’entreprise des années qui viennent : notamment le traitement massivement parallèle de très grands volumes de données.
_________
Yohan Beschi est Expert Java EE chez SOAT