10 raisons qui rendent Java populaire

1- Le compilateur Java

Le compilateur est l'une des choses que l'on considère comme la base d'un langage de programmation. En Java, contrairement au C++, vous pouvez compiler simplement votre code sans penser trop à propos de l'optimisation et tous les autres spécifications du compilateur. C'est le moyen pour convertir votre code source en une format exécutable.

Le compilateur Java ne peut fonctionner sans bytecode. Appart les avantages de bytecode que l'on va parler après, la représentation de Java est aussi dans le JIT(compilateur Just In Time) qui optimise les performances.

2- L'API Java

L'aspect le plus formidable de L'API Java est qu'elle a toujours été là. L'API de JDK consiste en des librairies très solides, stables et bien comprises. Alors que beaucoup de gens se plaignent de manque de fonctionnalités dans ce domaine et font recours à Google Guava ou Apache. Les gens oublient souvent que le cœur de l'API reste le seul qui est sous toutes les extensions.

En résumé, l'API Java est incroyablement stable et compatible, permet toutes sortes de bibliothèques, frameworks et les versions sont compatibles et interagissent les uns aux autres, c'est pourquoi Java rocks comme en dit en Anglais.

3- Open Source

L'avantage de l'open source est que vous pouvez contribuer et créer un projet open source pour votre application. L'open source est considéré par la communauté des développeurs comme une partie essentielle pour le développement des logiciels.

Je vous entends dire immédiatement que Java n'est pas open-source, et vous avez raison, il n'est pas! Ce qui est spécial est que la plate-forme Java rassemble tout de téléphone mobile à l'entreprise. Linux est peut-être la seule technologie open-source qui a atteint une ubiquité similaire, Java étant la seule plate-forme de développement de logiciels avec ce statut, qui pouce les développeurs à contribuer dans l'open source sur tous les fronts.

4- La mémoire de Java

Un autre point de vue intéressant est que Java implémente un modèle de mémoire qui gère très bien la mémoire. Le parallélisme est l'une des moyen pour augmenter le puissance de calcul et la concurrence. Les processeurs comportent des modèles de mémoire où les verrous peuvent être utilisés pour assurer que les threads qui sont entrains d'écrire sont visibles par les autres threads ou processus.

Contrairement aux autres langages, la machine virtuelle Java est indépendante du hardware. La concurrence est gérée par les bibliothèques externes(comme Python et JavaScript). Java inclut ça dans son API et peut être utilisé à tout moment par les processus qui ont besoin de coordination. Le modèle de mémoire java est conçu pour allouer aux trois composants essentiels: le langage, le compilateur et l'API d'offrir les opérations concurrentes et les cas de partage.

5- Les hautes performances

Beaucoup de langage et platforme ont adopté la machine virtuelle et Java n'été pas le premier. Smalltalk est un langage avec une machine virtuelle qui a été créé bien avant que Java est inventé!

Alors, pourquoi Java est mieux? En résumé, la JVM est la plus complète de toute application: elle est multi-platforme, open-source, très rapide, vérifie le byte code pour la sécurité, le type de langage est à la fois dynamique et statique, la gestion automatique de la mémoire et elle est accordable à l'exécution.

6- Le Bytecode

Le bytecode permet au compilateur java d'exprimer des instructions dans le format qui est directement compréhensive par la machine virtuelle.

Le bytecode est une suite d'instructions générées par la JVM et il peut s'exécuter sur plusieurs systèmes d'exploitation par une machine virtuelle Java. Le programmeur n'a pas besoin de comprendre le bytecode.

7- Des IDEs intelligents

Il a fallu un certain temps pour que les IDEs devient aussi bon que ce qu'ils sont aujourd'hui. à l’époque le développement des logiciels était différent. Les gens écrivaient le code avec avec bloc-notes ou Notepad. Mais, lorsque vous écrivez un programme complexe, il faut un outil plus puissant.

Quand IBM a relâché gratuitement en open-source Eclipse, tous les IDEs commerciales ont eu une chute en terme de vente. Aujourd'hui, en 2015, nous avons trois grands IDE entièrement intégrés: NetBeans, Eclipse et IntelliJ IDEA. Les projets ont devenus plus hétérogènes et les outils de management comme Maven sont totalement intégrés, ce qui permet aux développeurs de collaborer facilement sur un projet avec différents outils.

Aujourd'hui, vous avez un accès open-source gratuit pour ajouter des fonctionnalités à l'IDE comme les plugins. C'est un grand avantage que ces outils avancés sont accessibles gratuitement à tous ce qui souhaitent développer un logiciel.

8- Outils de profilage

il y a un proverbe: mesurez avant de sauter. La chose la plus mauvaise que vous pouvez faire est d'essayer de corriger les problèmes de performances en basant sur des hypothèses. Vous risquez soit d'aggraver les choses, soit de perdre le temps. Vous allez au code et cherchez et cherchez encore à optimiser et trouver la cause qui a créé le problème sans la trouver.

Alors, comment mesurer? La réponse est que la plateforme Java rend les choses facile. JDK contient lui même des outils de mesure et vous pouvez connaitre exactement ou est le goulot d'étranglement en mesurant chaque aspect de votre JVM. Vous n'avez pas à deviner, vous voyez comment cet outil est puissant?

9- Rétro-compatibilité

Depuis la sortie de Java, les applications qui ont été compilées à l'époque restent toujours exécutables dans les nouvelles versions. Ces applications ne sont pas exécutées sur la même infrastructure, à chaque fois sur la dernière version du JVM. Vous n’êtes pas obligé à réécrire ou recompiler votre programme, tous ce que vous devez faire est de copier l'ancien fichier JAR et exécuter votre application à nouveau. Il n' y a aucun nécessité de vérifier le numéro de la version ou si les fonctionnalités sont compatibles. C'est vraiment agréables, il suffit juste de faire copier-coller!

10- Maturité et innovation

La disponibilité des IDEs intelligents, les plateformes compatibles, une vaste API Java, une grande communauté open-source, et un langage qui a été conçu pour qu'il soit ré-adaptable, rend Java l'outil parfait pour le travail en équipe. Il permet aux gens d'interagir entre eux et aux programmeurs de modifier le code facilement. Il permet aussi aux gens de contribuer et de créer des solutions complexes qui requièrent une longue durée de développement mais aussi une longue période d'utilisation.

20 ans a été coulée, Java semble amélioré et adapté, tout en gardant sa stabilité et sa comptabilité. Evidemment, cela signifie qu'il s'améliore lentement et soigneusement. Aujourd'hui, on est arrivé à la dernière version la plus stable Java 8, qui englobe tous les caractéristiques qui dynamisent le langage et la plateforme. Java 8 est un grand pas vers l'avant et l'exemple idéal qui combine la maturité et l'innovation.