Skip to content

Java

Introduction

Java est un langage de programmation moderne à usage général. Initialement développé par Sun Microsystems, et actuellement détenue par Oracle Corporation.

Une caractéristique majeure du langage réside dans son indépendant de la plateforme sur laquelle il s’exécute. Cela signifie concrètement que le même programme Java peut être exécuter sur plusieurs plateforme (système d’opération) sans changement ! Ce principe est connu sous le nom de WORA, ‘Write Once, Run Anywhere’.

Java est l’un des langages de programmation dans les plus populaire et ce depuis plusieurs années. Ce langage est utilisé par une grande communauté de développeur à travers le monde ! Si vous avez un problème, la réponse existe en ligne.

Java est aussi utilisé dans les téléphones intelligents qui utilisent Android. Il est aussi utilisé dans l’industrie des services financier, les télécommunications, les systèmes embarqués, les jeux et bien d’autre domaines !

Minecraft et IntelliJ IDEA n’existerais pas sans Java !

   

java

   

Historique

Le langage Java est issu d’un projet de Sun Microsystems datant de 1990 : l’ingénieur Patrick Naughton n’était pas satisfait par le langage C++ utilisé chez Sun, ses interfaces de programmation en langage C, ainsi que les outils associés. Alors qu’il envisageait une migration vers NeXT, on lui proposa de travailler sur une nouvelle technologie et c’est ainsi que le projet vit le jour.

À l’origine, Gosling envisageait de modifier et d’améliorer le langage C++, mais l’idée fut bientôt abandonnée au profit du développement d’un nouveau langage de programmation qu’ils appelèrent Oak (chêne) en référence, selon la légende, à un arbre planté devant la fenêtre de leur bureau.

Le nom Java n'est pas un acronyme, il a été choisi lors d'un brainstorming en remplacement du nom d'origine "Oak", à cause d'un conflit avec une marque existante, parce que le café ("java" en argot américain) est la boisson favorite de nombreux programmeurs. Le logo choisi par Sun est d'ailleurs une tasse de café fumant.

   

Caractéristiques

Comme nous l’avons mentionné précédemment, la caractéristique la plus importante de Java est l’indépendance de la plate-forme.

Une autre caractéristique importante est une syntaxe simple et claire. De nombreux éléments du langage sont faciles à lire et sont largement utilisés dans d’autres langages de programmation tels que C/C++, C#, JavaScript et Go.

Si vous avez déjà écrit des programmes en C/C++, alors vous savez que le nettoyage manuel de la mémoire peut entraîner des bogues dans le code. Heureusement, Java a un éboueur (ramasse-miettes) qui nettoie automatiquement la mémoire des objets inutilisés pendant l’exécution du programme.

Il est également important de noter que Java prend en charge plusieurs paradigmes de programmation (design pattern) que vous apprendrez dans ce cours. Java est avant tout un langage impératif basé sur le concept orienté objet : presque chaque partie d’un programme est un objet. Par conséquent, un programme lui-même peut être considéré comme un ensemble d’objets en interaction. En outre, il prend en charge partiellement les paradigmes de programmation modernes tels que la programmation générique (generics), la programmation simultanée (concurrent programming), la programmation fonctionnelle (functionnal programming), et bien d’autres.

En conclusion, Java est un langage de programmation moderne et populaire qui peut être utilisé avec succès dans presque tous les domaines.

Java possède un certain nombre de caractéristiques qui ont largement contribué à son énorme succès :

Java est interprété

La source est compilée en pseudo code ou bytecode puis exécuté par un interpréteur Java : la Java Virtual Machine (JVM). Ce concept est à la base du slogan de Sun pour Java : WORA (Write Once, Run Anywhere : écrire une fois, exécuter partout). En effet, le bytecode, s'il ne contient pas de code spécifique à une plate-forme particulière peut être exécuté et obtenir quasiment les mêmes résultats sur toutes les machines disposant d'une JVM.

Java est portable

Il n'y a pas de compilation spécifique pour chaque plateforme. Le code reste indépendant de la machine sur laquelle il s'exécute. Il est possible d'exécuter des programmes Java sur tous les environnements qui possèdent une Java Virtual Machine. Cette indépendance est assurée au niveau du code source grâce à Unicode et au niveau du bytecode.

Java est orienté objet

Comme la plupart des langages récents, Java est orienté objet. Chaque fichier source contient la définition d'une ou plusieurs classes qui sont utilisées les unes avec les autres pour former une application. Java n'est pas complètement objet car il définit des types primitifs (entier, caractère, flottant, booléen...).

Java est simple

Le choix de ses auteurs a été d'abandonner des éléments mal compris ou mal exploités des autres langages tels que la notion de pointeurs (pour éviter les incidents en manipulant directement la mémoire), l'héritage multiple et la surcharge des opérateurs entre autres.

Java est fortement typé

Toutes les variables sont typées et il n'existe pas de conversion automatique qui risquerait une perte de données. Si une telle conversion doit être réalisée, le développeur doit obligatoirement utiliser un transtypage (cast) ou une méthode statique fournie en standard pour la réaliser.

Java assure la gestion de la mémoire

L'allocation de la mémoire pour un objet est automatique à sa création et Java récupère automatiquement la mémoire inutilisée grâce au ramasse-miettes (garbage collector) qui restitue les zones de mémoire laissées libres à la suite de la destruction des objets.

Java est sûr

La sécurité fait partie intégrante du système d'exécution et du compilateur. Un programme Java planté ne menace pas le système d'exploitation. Il ne peut pas y avoir d'accès direct à la mémoire. L'accès au disque dur est réglementé.