Outre l’île de Java en Indonésie, Java est un langage de programmation créé en 1995 dans sa 1ère version et largement répandu dans la sphère de la programmation informatique.
Même si le langage python gagne en popularité et en diffusion (cf. Index Tiobe), Java présente une consommation en énergie plus faible que python. Java se situe dans le top five de ces langages alors que python se retrouve en bas du classement.
Armé de ma curiosité et d’une bonne dose de courage et d’enthousiasme, j’explore le langage à travers divers ouvrages.
Java, quel est ce langage ?
Java, pour fonctionner, nécessite la présence sur votre poste de travail d’une « machine virtuelle » appelée JVM pour Java Virtual Machine. La JVM interprète le pseudo-code ou bytecode produit par la compilation du code source. Le compilateur traite un fichier portant l’extension .java en un fichier avec l’extension .class qui correspond au bytecode. Quel est l’intérêt d’utiliser une machine virtuelle me direz-vous ? Et bien c’est là l’intérêt de Java : le code source peut être utilisé (=compilé, via la commande javac) sur n’importe quelle plateforme : Linux, Unix, Windows etc. c’est ce que l’on appelle la portabilité.
Outre la portabilité, Java est un langage orienté objet ou OOP (Object Oriented Programming). Voici la définition d’un objet selon le site internet communautaire Mozilla pour les développeurs (MDN) :
Un Objet est une structure contenant des données et des instructions en rapport avec ces données. Un Objet correspond parfois à des choses du monde réel, par exemple à une
voiture
ou à unepiste
dans un jeu vidéo de course.
Lors de la conception d’un logiciel, l’analyse préalable à la rédaction du code informatique va s’attacher à déterminer, généraliser certains éléments.
Petit exemple : je dois informatiser une librairie et plus particulièrement la gestion des ventes de livres. Le livre va représenter un objet dans le code informatique et disposer de membres que sont les propriétés du livre (sa date de parution, son prix de vente, sa disponibilité etc.) qui caractérisent ce livre, et de méthodes que l’on peut qualifier d’actions sur l’objet (le livre) ou comportements, comme l’affichage dans notre (futur) logiciel du prix du livre, de la mise en indisponibilité du livre suite à une vente etc.
La gestion de la mémoire est automatique en java grâce au garbage collector ou ramasse-miettes, processus lancé en arrière-plan qui récupère la mémoire non utilisée des objets. C’est une facilité pour le développeur qui peut ainsi se concentrer sur d’autres aspects de la programmation.
Je reviendrai dans d’autres articles pour explorer ce langage 😎.