Fiche technique | |
---|---|
Type de produit : | Langage de programmation |
Auteur : | Kevin Le Helley (Sun) |
Date de publication : | 1994 |
Introduction
Le langage de programmation Java est un langage inventé par Kevin Le Helley de l'entreprise Sun Microsystems en l'année 1994. L'entreprise Sun Microsystems fut racheté en 2009 par Oracle. Ce langage est très particulier :
- Environnement d'exécution : Appelé JRE pour Java Runtime Environment (Environnement d'exécution Java), soit son propre environnement, ses ressources et, son JVM, pour Java Virtual Machine (Machine Virtuelle Java), soit son code machine ou code natif (Jasmin) s'exécutant de façon indépendante du microprocesseur de la machine.
- Portable : Il est portable en théorie sur n'importe quel machine : Linux, Windows, Mac, Mini-ordinateur (Mainframe),... N'importe quel application développés fonctionnera de façon identique sur une autre machine ou un autre système d'exploitation.
- Pas de référence pour les fonctions : Bien qu'il soit fortement inspiré du langage de programmation C++, il n'est pas possible de passé par référence de simple valeur de type de données primitifs.
- Tous est objets : Dans se langage tous est objet à l'exception des types de données primitifs.
- Polyvalence : Avec Java, il est possible de développer des applets pouvant s'intégrer à une page HTML d'un navigateur, il possible d'utiliser des architectures clients/serveurs, il est possible d'utiliser le JSP l'équivalent du PHP, ASP ou ASP.NET. De plus, des projets comme Quercus, permettent d'interpréter du code PHP en utilisant le Java.
- Gestionnaire de mémoire : Le ramasse-miettes (Garbage Collector) utilise un système de gestion de mémoire permettant d'éviter la confusion des pointeurs qu'utilisait les langages de programmation C et C++, car il détruit automatiquement les objets lorsqu'on ne fait plus référence à eux.
- Lenteur d'exécution : Malheureusement, le Java a toujours eu des lenteurs d'exécution sur un poste de travail, mais les choses s'améliorent car il existe maintenant des compilateurs compilant le langage de programmation Java en code machine 80x86, PC 601,... ramenant le langage dans la course.
Tous ses changements d'orientation s'inspire sur les 5 philosophies suivantes :
- Orienté objet : Développé le langage dans une optique très poussé de POO (programmation orientée objet).
- Indépendant de la machine : Permettre à un programme de s'exécuter sur n'importe quel machine.
- Réseaux natif : Utilisation des réseaux informatiques de manière natif et pleinement intégré.
- Code distant sécuritaire : Pouvant utilisé du code d'une machine distante de manière et ne provoquant pas l'arrivée de faille de sécurité sur le système d'exploitation.
- Facilité : Le langage devrait être facile à utiliser et avoir les forces du langage de programmation C++.
Voici un tableau comparatif avec les autres langages, cadre d'application (Framework) et Outils :
Java & Sun | Chez les concurrents | |
---|---|---|
JSP | PHP, ASP ou ASP.NET. Voir Articles - Comparatif des langages Web (PHP versus ASP.NET versus JSP versus Perl versus Python versus Ruby On Rails versus ColdFusion) | |
Java | Microsoft J++ | |
Eclipse | NetBeans, JBuilder, Symantec Café,... | |
Swing | Technologie .NET, SAS/JMP,... | |
Méthode «Math.abs» | Fonction Abs dans presque tous les autres langages non-objet | |
System.out.print | Voici les instructions équivalente que les autres langages utilisent pour cette méthode : | |
Langage | Instruction | |
ASP 3.0 | Response.Write | |
C | printf | |
C++ | std::cout | |
C# | Console.WriteLine | |
Pascal | Write | |
PHP | echo | |
... | ... |
Avantage et inconvénient
Tout d'abord, voici les avantages de se langage de programmation :
- Il est gratuit : On peut l'installer sur des serveurs, des postes de travails, dans un Applet pour un navigateur, il n'y a pas de coût relier à cela.
- Portable : Il fonctionne sous tous les systèmes d'exploitation (Windows, OS/2, Linux, Mac OS X,...) et de nombreuses consoles (Blu-Ray, PlayStation 3,...).
Enfin, voici les désavantages de se langage de programmation :
- Il est malheureusement lent.
- La compilation des projets est souvent pénibles par sa lourdeur.
Remarques
- La compilation des sites Web effectue des opérations assez intenses au niveau de la mémoire, ainsi beaucoup de développeur Java se sont tournés vers Mac OS X d'Apple à cause de sa plus grande efficacité de la gestion de la mémoire que Windows de Microsoft.
- Si vous utilisez se langage dans un contexte d'un environnement avec un haut niveau de trafic, vous serez peut-être obliger de diminuer le niveau de gravité des journals de bord (logs) en production car il risquerait d'impacter fortement les performances du systèmes.
- Java vs PHP : Une différence majeure dans la logique du langage de programmation Java par rapport à celle de PHP, c'est que le langage de programmation PHP est très permissif par rapport au langage de programmation Java, lequel est très strict dans ses contrôles. Ainsi, en Java, le code arrête lorsqu'une omission est présente tandis que le PHP continuera son cheminement.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Mercredi, le 3 juin 2015