CAHIER 05
Les technologies logicielles
Ce cahier présente quelques exemple langages récents
1. LE LANGAGE JAVA
Le langage Java est né d'une initiative de la société Sun MicroSystem.
D'un point de vue technologique, ce langage a été conçu pour développer des applications
fonctionnant sous ordinateurs connectés à un serveur via un réseau. Il est indépendant des
ressources réseau et matériel.
De plus, le langage Java produisant des programmes très compacts en taille ne nécessite pas des
micro-ordinateurs de grande puissance, tout juste pourvus de mémoire vive de 8 Mo.
1.1. UNIVERSALITE DU LANGAGE JAVA
Le langage Java a été conçu, dés l'origine, pour s'émanciper des différentes machines et systèmes
d'exploitation.
Le même code de l'application peut ainsi tourner sur un micro-ordinateur sous environnement
Machintosh, sous Windows/PC, sous Unix, sous un Network Computer (NC) et d'autres ...
respectant à la lettre l'adage "Ecrire une fois, exécuter partout".
L'utilisateur peut espérer, à l'avenir, ne plus avoir à se soucier du choix d'une machine et d'un
système d'exploitation.
C'est peu dire que cette liberté de choix de fournisseurs risque de modifier le paysage de la
micro-informatique de demain. Et dès aujourd'hui les plus grands acteurs de l'industrie et pas
uniquement les éditeurs, y songent et même depuis quelques mois.
En réalité, ce que l'on peut percevoir de consensuel et de gage d'universalité dans le concept Java,
vu de l'extérieur, se révèle être un débat houleux, et cache des enjeux commerciaux énormes.
Il y a d'un côté une alliance constituée des sociétés Sun, IBM, Netscape, Lotus, Apple, Oracle,
Corel, lesquelles multiplient entre elles des accords de partenariat.
De l'autre côté, se tient la toute-puissante société Microsoft, numéro un mondial du logiciel, qui
détient, à elle seule, l'essentiel du marché des systèmes d'exploitation (avec MS-DOS, Windows
3.1, Windows 95 et Windows NT), tout comme celui des applications ...
Car le langage Java est de nature à briser, techniquement et commercialement, le monopole de la
société Microsoft.
Parce qu'il est ouvert à tous, le langage Java offre à nombre de sociétés la possibilité de lutter à
armes égales.
Cependant, certains se souviendront que le Langage C, lui aussi, devait être universel. On
recompilait simplement une application pour qu'elle tourne sur une autre machine.
Avant encore, on nous parla du système Unix, unique pour tous. Pourtant, il existe bien des
"Unix".
1.2. LE LANGAGE DE PROGRAMMATION JAVA - LES "APPLETS"
Le langage Java permet d'écrire des "applets". Une "applet" est un seul et même petit programme
dont l'étonnante vertu est de s'exécuter indifféremment sur des environnements différents.
Il existe plusieurs manières d'exécuter une applet sur un micro-ordinateur :
Le navigateur Internet fait office d'intermédiaire pour charger l'applet.
Ensuite, il fait appel à l'interpréteur (le "plug-in Java") qui traduit les instructions Java
pour le processeur et le système d'exploitation (Windows, Mac, Os, Unix ...).
Le navigateur n'est plus sollicité. Les instructions de l'applet sont directement prises en
charge par l'interpréteur appelé aussi "machine virtuelle". C'est elle qui prépare les
instructions pour le processeur et le système d'exploitation.
Ce coup-ci, toutes les instructions de l'applet sont traduites d'un bloc en instructions
exécutables par le processeur. Cette méthode améliore le temps d'exécution de l'applet.
Le système d'exploitation est conçu pour Java. Il traite directement les instructions de
l'applet (c'est le cas des "Java Stations" de la société Sun).
Depuis sa création, le langage Java s'est rapidement répandu et les éditeurs de logiciels en ont été
les premiers utilisateurs. De nombreuses applications ont ainsi été développées.
La première d'entre elles a été Hot Java, un navigateur Internet écrit par la société Sun
Microsystems elle-même.
En novembre 1996, l'éditeur Corel a dévoilé la première suite bureautique écrite en Java,
composée principalement du traitement de texte Wordperfect et du tableur Quattro Pro.
Depuis ma rencontre avec cette première appelette, chaque jour, les pages Web que je télécharge
charrient leur lot de babioles, lesquelles s'exécutent dans la fenêtre du navigateur que j'utilise,
quel qu'il soit, tantôt Navigator de Netscape, tantôt Internet Explorer de Microsoft. Les babioles
en question ? Beaucoup d'animations, et puis aussi, des jeux.
1.3. GLOSSAIRE JAVA
Java Script
Java Script n'a rien à voir avec Java. C'est un ensemble de fonctions inventées par le logiciel de
navigation Netscape qui permet d'enrichir les pages HTML, comme par exemple, l'affichage de
textes déroulants dans le bas des fenêtres.
La société Microsoft a, quant à elle, créé Jscript, dont le rôle est identique. Mais ces deux jeux de
commandes ne sont pas compatibles entre eux.
Java Beans
C'est un ensemble de règles publiées par la société Sun qui définissent les principes du partage
d'informations entre les programmes écrits en Java.
Avec Java Beans, le langage Java n'est plus seulement un langage de programmation, il devient
également un outil de communication entre applications à la manière d'Open Doc ou d'ActiveX.
Interpréteur Java
C'est un logiciel qui interprète les commandes Java et les traduit en instructions pour le
processeur et le système d'exploitation de l'ordinateur.
Machine virtuelle Java
C'est un logiciel qui simule la présence d'un processeur Java et plus précisément la présence dans
l'ordinateur d'une unité de calcul et de registres dans lesquels sont stockées les informations à
traiter.
Dans la pratique, le rôle de machine virtuelle est assumé par l'interpréteur Java.
Compilateur JIT
Le compilateur traduit des commandes Java en instructions pour le processeur de l'ordinateur.
Cela permet d'accélérer l'exécution des programmes écrits en Java qui sont très lents en mode
interprété. L'appellation JIT provient de l'anglais "Just In Time" (juste à temps), ce qui signifie
que l'application Java est compilée au moment où elle arrive dans la mémoire de l'ordinateur.
2. LES LANGAGES DE SCRIPT
2.1. INTRODUCTION
Ce chapitre est consacré aux langages de script, sous toutes leurs formes. Perl, Java Script,
VBScript, WSH sont autant de langages pas toujours très simples à définir et à expliquer.
Quelles sont les caractéristiques d'un langage de script ? Quel langage choisir ?
Comment incorporer un langage de script dans sa propre application ? A quoi sert-il ?
Pourquoi JavaScript est-il devenu un standard ? Comment évolue WSH (Windows Scripting
Host) dans Windows 2000 ?
En quelques années, les langages de script sont devenus incontournables.
Plusieurs millions de développeurs sont déjà formés aux technologies de "scripting" : ces
technologies sont au cœur de la stratégie COM de Microsoft, pas un site Web ne fait aujourd'hui
l'impasse sur JavaScript.
2.2. GENERALITES
La plupart du temps, un langage de script est utilisé pour écrire de petits programmes, insérés
dans une page HTML au sein de balises "SCRIPT". Ils utilisent des variables, et manipulent la
page HTML chargée dans le navigateur.
Ces petits programmes permettent de vérifier que l'utilisateur a bien saisi un formulaire, animer
des boutons pour ajouter un effet visuel au passage de la souris, etc …
Si une valeur saisie est incorrecte, ces programmes "script" peuvent afficher un message d'alerte
qui évite de faire des allers et retours inutiles avec le serveur HTTP.
A cette utilisation du côté client a rapidement succédé l'écriture de scripts du côté serveur, au sein
de pages ASP pour Microsoft IIS ou JSP pour Netscape Enterprise Server.
Le script, là encore, est inséré au code HTML et renvoyé par le serveur, au sein de balises
"SERVER".
Mais cette fois, il est exécuté par le serveur, et le résultat de cette exécution vient modifier la
page. Une fois cette dernière renvoyée au navigateur, il n'y a plus trace du code JavaScript ou
VBScript présent initialement.
Notons qu'on peut combiner les deux approches en mixant les balises "SCRIPT" et "SERVER".
L'attribut "language" de ces balises permet de choisir le langage de script utilisé. On peut
également mélanger VBScript et JavaScript, bien que l'intérêt soit beaucoup moins évident.
2.3. CARACTERISTIQUES DES LANGAGES SCRIPTS
Les langages de script ne sont pas nativement des langages objet. Ecrits au sein d'éditeurs
rudimentaires comme le Bloc-notes, ils sont lents et difficiles à déboguer. Le code source de
n'importe quel programme est lisible avec un éditeur ASCII le plus rudimentaire.
JavaScript et VBScript sont des langages interprétés. Le code est chargé, lu et vérifié, puis
exécuté par un moteur binaire (ou runtime), ligne après ligne.
Une boucle en VBScript s'exécutera des dizaines (voire des centaines) de fois plus lentement
qu'une même boucle écrite en C++, puis compilée en langage machine.
Toutefois, le critère de performance n'est pas rédhibitoire: après avoir attendu quelques secondes
le chargement d'une page HTML sur Internet, un écart d'un dixième de seconde n'est pas
significatif.
D'autres langages comme Java utilisent aussi un runtime, appelé "machine virtuelle". Mais dans
ce cas, le code source Java est pré-compilé et optimisé à l'avance en un fichier binaire. Java, bien
que plus lent que C++, est beaucoup plus rapide que les langages de script.
La lisibilité des langages de script est certainement à l'origine de leur succès.
Aucun environnement de développement n'est nécessaire pour écrire du JavaScript : le Bloc-
notes de Windows suffit.
Nul besoin de recompiler le code suivant le système d'exploitation : un même code tourne sous
Linux, Windows ou MacOS quel que soit le navigateur.
La lisibilité du code source peut toutefois présenter des problèmes de confidentialité : comment
protéger la propriété intellectuelle si tout un chacun peut recopier votre code ?
Il suffit alors de visualiser le code source de la page HTML, de localiser le code entre deux
balises "SCPIPT" et de faire un copier/coller vers son propre site...
Microsoft distribue une technologie baptisée Script Encoder, qui permet de crypter le source d'un
langage de script. Cependant, les pages ainsi encodées ne sont lisibles qu'avec le navigateur
Internet Explorer, ce qui limite son usage dans le cadre d'un site Internet où les navigateurs
Netscape sont encore très présents.
Les langages de script sont réputés simples ; la réalité est plus contrastée. Dans le sens de la
simplicité, il n'est pas nécessaire de déclarer ses variables avant de les utiliser. JavaScript est non
typé : une variable peut tour à tour contenir du texte, un nombre ou un objet. On comprendra que
cela n'accélère pas l'exécution, car aucune optimisation ne peut être faite. Au-delà de la
simplicité, cela ne facilite pas la détection d'erreurs.
En ce qui concerne les performances, les moteurs de script vont en s'améliorant de version en
version, dans des proportions très impressionnantes.
Le résultat ne tient pas uniquement au moteur lui-même, mais à la manière dont il s'intègre dans
son hôte, respectivement Internet Explorer, Netscape Navigator ou les serveurs HTTP. L'éditeur
Microsoft annonce ainsi un gain de 300 % de la vitesse des pages ASP dans IIS 5.0 sous
Windows 2000 par rapport à IIS 4.0 sous Windows NT 4.0.
2.4. LES ENVIRONNEMENTS D'UTILISATION D'UN LANGAGE DE SCRIPT
Un programme script s'exécute au sein d'un "contexte".
Le plus fréquent est une page HTML lue par un navigateur. Ce contexte enrichit le langage de
nouveaux objets qu'il peut manipuler. Ainsi l'on dispose des objets "document", "Windows" ou
"form" lorsque l'on écrit du JavaScript du côté du client.
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !