Langage de script

Un article de Wikipédia, l'encyclopédie libre.

Un langage de script est un langage de programmation qui permet de manipuler les fonctionnalités d'un système informatique configuré pour fournir à l'interpréteur de ce langage un environnement et une interface qui déterminent les possibilités de celui-ci. Le langage de script peut alors s'affranchir des contraintes de bas niveau — prises en charge par l'intermédiaire de l'interface — et bénéficier d'une syntaxe de haut niveau.

Le langage de script est généralement exécuté à partir de fichiers contenant le code source du programme qui sera interprété. Historiquement ils ont été créés pour raccourcir le processus traditionnel de développement édition-compilation-édition des liens-exécution propre aux langages compilés. Les premiers langages étaient souvent appelés langage de commande ou langage d'enchaînement des travaux (JCL : Job Control Language) car ils permettaient simplement d'automatiser une succession de commandes simples, à la manière d'un « script » de théâtre.

Sommaire

[modifier] Propriétés

Dans le sens le plus traditionnel, qui est celui des shell scripts, un script sert principalement à lancer et coordonner l'exécution de programmes.

  • Dans sa version la plus simple, un script ne spécifie qu'une suite de programmes à appeler dans un ordre donné (par exemple éditeur de texte, compilateur, éditeur de liens et exécution du code objet).
  • On y ajoute rapidement une possibilité d'exécution conditionnelle simple (||, &&) en fonction du résultat de l'étape immédiatement précédente (il ne sert à rien d'exécuter si la compilation est mauvaise)
  • La possibilité d'y employer des variables, des paramètres, des structures de contrôle (répétition, exécution conditionnelle), etc. fait des langages de scripts de véritables langages de programmation.

Dans un sens différent, on appelle aussi langage de script un langage où les éléments visuels sont considérés comme des personnages placés sur une "scène", personnages dont le comportement est défini par un script. L'un des premiers langages de ce type dans le monde de la micro-informatique a été le langage HyperTalk (langage orienté objet dérivé de Smalltalk) très proche du langage naturel, que Dan Winkler crée en 1987 pour commander le programme HyperCard sur MacIntosh. Le langage Lingo de Macromedia Director est un descendant direct d'HyperTalk.

Enfin, l'informatique n'étant pas à une terminologie approximative près, "langage de script" désigne parfois, dans un sens très vague, n'importe quel langage de programmation interprété (ce qui est un abus de langage : en toute rigueur le caractère interprété ou compilé se rapporte à une implémentation particulière, pas à un langage), par rapport aux langages compilés comme C, C++, Java, etc. On y trouve alors BASIC, PHP, Lisp, JavaScript, etc.

[modifier] Liste des langages de script

Les langages de script les plus connus sont :

Mais il en existe beaucoup d'autres...

[modifier] Sha-bang

Note : sous Unix, la première ligne indique le nom de l'interpréteur. Cette ligne commence par les caractères # ! qu'on appelle sha-bang, une contraction de Sharp (le nom du symbole dièse en anglais) et bang (le nom du point d'exclamation en anglais).

Exemple:

#!/bin/sh

iv ()
{
  echo $2$1
}
iv jour bon

donnera :

bonjour
Icône de détail Article détaillé : Sha-bang.

[modifier] Quelques avis

[modifier] Larry Wall

  • « when I was a RSTS programmer on a PDP-11, I certainly treated BASIC as a scripting language, at least in terms of rapid prototyping and process control. I'm sure it warped my brain forever »
(Quand je programmais un PDP-11, j'ai assurément traité BASIC comme un langage de script, en tout cas pour le prototypage et la commande de processus. Je suis certain que cela m'a déformé durablement).
  • « basically, scripting is not a technical term. When we call something a scripting language, we're primarily making a linguistic and cultural judgment, not a technical judgment »
(Langage de script ne constitue pas un terme technique; l'utiliser fait état d'un jugement linguistique et culturel, pas technique)

-- Programming is Hard, Let's Go Scripting...


[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Liens externes

  • John K. Ousterhout, Scripting: Higher Level Programming for the 21st Century, IEEE Computer magazine, March 1998 [1]