Langage de script

Un script ou langage de script est un langage de programmation qui prend en charge les scripts. Les scripts sont généralement de courts programmes informatiques qui effectuent des étapes qui pourraient être effectuées une à une par une personne. Cela permet d'automatiser un travail pour le rendre plus facile et plus fiable. Un langage de script est souvent plus simple et plus facile à apprendre que d'autres langages, mais il peut quand même faire beaucoup de choses.

Les scripts peuvent s'exécuter dans un autre programme, comme dans un navigateur web ou dans Microsoft Excel. Il peut également s'agir d'un shell qui s'exécute à partir d'une interface de ligne de commande et qui effectue des appels au système d'exploitation (OS). Le shell est considéré comme interactif - l'utilisateur peut choisir ce qu'il veut taper, et le shell répond à la commande. Ils peuvent être utilisés pour contrôler des travaux sur des ordinateurs centraux et des serveurs.

Certains disent qu'un langage de script doit être lié à un usage spécifique. D'autres utilisent une définition plus large et incluent des langages de programmation à usage général qui sont interprétés, et non compilés. L'expression "à usage général" signifie qu'il peut être utilisé de nombreuses façons pour différentes choses. Certains langages polyvalents (comme Java) ont des variantes qui peuvent être scriptées (Javascript). Il n'y a pas de règle spécifique sur ce qui est ou n'est pas un langage de script.

Exemples

Quelques exemples courants de langages de script :

  • Bash et C shell, comme langages de contrôle pour les systèmes d'exploitation Unix ou similaires à Unix
  • Les scripts qui s'exécutent dans une autre application sont appelés langage d'extension. Les navigateurs web permettent plusieurs types de scripts, dont ECMAScript (JavaScript) ou XUL. Par exemple, la page d'accueil de Google utilise JavaScript. Visual Basic for Applications est utilisé dans Microsoft Office. Le lua est une langue spécialement conçue comme langue d'extension, et peut être utilisée dans de nombreuses applications.
  • Les jeux qui ont des extensions de script comprennent le monde virtuel de Second Life et les simulateurs de Trainz Railroad. Dans d'autres jeux comme Wesnoth, la variété des jeux réels joués sont des scripts écrits par d'autres utilisateurs.
  • Langues de traitement de texte sed et AWK
  • Objectif général : Perl, Tcl et Python sont des langages de programmation de haut niveau (plus proches du langage humain que du code machine) qui peuvent être utilisés pour de nombreuses choses différentes. Certains de ces langages ont d'abord été conçus pour un usage particulier, puis ont été transformés en langages à usage général.

Caractéristiques

La plupart des langages de script sont conçus pour être faciles à apprendre. Ils peuvent souvent être soit des fichiers courts avec le code source, soit une commande à la fois dans une interface de ligne de commande, qui possède une boucle de lecture-évaluation-impression (REPL, language shell). Il s'agit généralement d'un simple ensemble de commandes. Il se peut qu'il n'y ait pas de fonctions ou de main, il s'exécute simplement du début à la fin. Si quelque chose ne fonctionne pas, un programmeur peut faire des modifications rapides et le relancer. Cela fait d'un langage de script un bon outil pour réaliser un prototype rapide afin de voir si une idée fonctionne.

Par exemple, la plupart des gens n'appellent pas Java un langage de script, en raison de sa longue syntaxe et des règles concernant les classes qui existent dans les différents fichiers, et parce que Java ne peut pas être exécuté de manière interactive dans un REPL. Il a besoin de fichiers avec le code source, et ils ne peuvent contenir que des définitions qui doivent être utilisées par une application hôte ou un lanceur d'application. (Java n'est pas la même chose que JavaScript).

Mais Python laisse le choix - les fonctions peuvent être mises dans un fichier, il peut être exécuté sans fonctions et utiliser le style de programmation impératif, ou même l'utiliser de manière interactive (taper et exécuter une ligne à la fois).

imprimer ("Hello World")

Cette seule ligne de code Python imprime "Hello World" ; aucune fonction main() ou autre n'est nécessaire.

Un langage de script est généralement interprété à partir du code source ou du bytecode. Cependant, il faut que quelque chose exécute le script (l'interprète) pour que l'ordinateur le comprenne. Il s'agit d'une application, ou de quelque chose dans le système d'exploitation. Celle-ci est souvent écrite dans un langage compilé et distribuée sous forme de code machine (sous forme d'exécutable qui n'a pas de sens pour l'homme).

Les langages de script peuvent être conçus pour être utilisés par les personnes qui utilisent un programme - développement de l'utilisateur final. D'autres fois, ils peuvent être créés par des programmeurs pour leur propre usage. Les langages de script utilisent souvent l'abstraction, une forme de masquage de l'information. Cela signifie que les utilisateurs n'ont pas besoin de connaître les détails des types de variables, du stockage des données et de la gestion de la mémoire.

Les scripts sont souvent réalisés ou modifiés par la personne qui les exécute, mais certains sont partagés ou vendus à d'autres. Par exemple, lorsque de grandes parties de jeux sont écrites dans un langage de script. Parfois, un script peut être compilé avant que d'autres ne l'utilisent. Une fois compilé, il s'exécute plus rapidement et n'a pas besoin d'une autre application pour le faire fonctionner. Et cela empêche les utilisateurs finaux de modifier le code.

Histoire

Les premiers ordinateurs centraux (dans les années 1950) n'étaient pas interactifs, mais utilisaient des scripts stockés dans des fichiers de lots. Le Job Control Language (JCL) d'IBM est l'exemple le plus courant de langage de script utilisé pour contrôler le traitement par lots.

Les premiers obus interactifs ont été fabriqués dans les années 1960 pour aider au fonctionnement à distance des premiers systèmes de partage du temps. Ils utilisaient des scripts shells, qui peuvent exécuter des programmes informatiques dans un programme informatique, le shell. On attribue généralement à Calvin Mooers, dans son langage TRAC, le mérite d'avoir inventé la substitution de commandes. Cela permet aux commandes de modifier le script (code auto-modifiant). Multics appelle ces fonctions actives. Louis Pouzin a écrit un premier processeur pour les scripts de commande appelé RUNCOM pour CTSS vers 1964. Stuart Madnick, du MIT, a écrit un langage de script pour le CP/CMS d'IBM en 1966. Il a d'abord appelé ce processeur COMMAND, plus tard nommé EXEC. Multics comprenait une ramification de CTSS RUNCOM, également appelé RUNCOM. EXEC a finalement été remplacé par EXEC 2 et REXX.

Des langues telles que le Tcl et le Lua ont été conçues dès le départ comme des langues de script à usage général pouvant être utilisées dans n'importe quelle application. D'autres langages comme Visual Basic for Applications (VBA) pouvaient faire à peu près la même chose, mais ne devaient fonctionner qu'avec certaines applications. L'utilisation d'un langage de script polyvalent au lieu de créer un nouveau langage pour chaque application facilite généralement la tâche de la personne qui écrit l'application et de l'utilisateur qui écrit les scripts.

Types de langages de script

Langues de collage

Le scripting est parfois utilisé pour connecter différentes applications. C'est ce que l'on appelle le "glue code", et un langage fait spécialement dans ce but est un "glue language". Les pipelines et les scripts shell sont des exemples courants de langages de collage. Mais si beaucoup de logique est écrite dans un fichier de script, il est préférable de le considérer comme une simple application logicielle, et non comme de la "colle".

Les langues de collage sont particulièrement utiles pour l'écriture et la maintenance :

  • des commandes personnalisées pour un shell de commande ;
  • des programmes plus petits que ceux qui sont mieux mis en œuvre dans un langage compilé ;
  • les programmes "wrapper" qui font certaines choses automatisées avant ou après l'exécution d'une application comme un tableur, une base de données, un compilateur, etc ;
  • des scénarios qui peuvent changer souvent ;

Exemples de langage de colle :

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Scripts Unix Shell (ksh, csh, bash, sh et autres)
  • VBScript
  • Langue de travail
  • Windows PowerShell
  • XSLT

Les appareils tels que les calculatrices programmables peuvent également avoir leur propre langage de colle. Par exemple, la Texas Instruments TI-92, par défaut, peut être programmée avec un langage de script de commande. La calculatrice TI-NSpire comprend le langage Lua. D'autres comprennent une sorte de langage de base, ou peut-être Lisp ou autre chose.

Langages et coquilles de contrôle des emplois

Ce groupe est issu de l'automatisation du contrôle des tâches, qui concerne le démarrage et le contrôle du comportement des programmes système, à partir du JCL d'IBM. Beaucoup d'interprètes de ces langues travaillent également comme interprètes de ligne de commande, comme le shell Unix ou la COMMANDE MS-DOS. COM. D'autres, comme AppleScript, offrent l'utilisation de commandes de type anglais pour construire des scripts.

Scripting GUI

Lors de la construction d'interfaces graphiques, il est nécessaire de trouver un moyen de les tester. Des langages de script spécialisés ont été créés pour contrôler les fenêtres graphiques, les menus, les boutons, etc. comme le ferait un utilisateur humain. Souvent, ils peuvent être utilisés pour copier exactement ce qu'une personne fait (déplacer une souris, cliquer ou taper sur un clavier). Cette action ou cet ensemble d'actions qui est copié et mémorisé est appelé une macro.

Langues spécifiques aux applications

De nombreuses grandes applications comprennent un langage de script construit spécialement pour cette application. L'application peut être un jeu ou un programme d'entreprise. Ce type de langage est fait pour une seule application. Ils ressemblent à un langage polyvalent (par exemple QuakeC, modelé sur le C), ils ont des caractéristiques personnalisées qui les distinguent.

Langues d'extension/embeddables

C'est comme un langage de script spécifique à une application, dans la mesure où il contrôle une application, mais le langage peut être utilisé dans de nombreuses applications.

JavaScript a commencé comme un langage de script dans les navigateurs web ; mais c'est maintenant un langage intégré d'usage général. Il est également utilisé dans les produits Adobe par exemple.

Certaines langues passent d'un type à l'autre au fil du temps, généralement parce qu'elles permettent de faire plus de choses.

Questions et réponses

Q : Qu'est-ce qu'un langage de script ?


R : Un langage de script est un langage de programmation qui prend en charge les scripts.

Q : Qu'est-ce qu'un script ?


R : Les scripts sont généralement de courts programmes informatiques qui effectuent des opérations qui pourraient être réalisées une à une par une personne.

Q : Pourquoi les scripts sont-ils utiles ?


R : Ils permettent d'automatiser un travail pour le rendre plus facile et plus fiable.

Q : Un langage de script est-il difficile à apprendre ?


R : Un langage de script est souvent un langage plus simple et plus facile à apprendre que d'autres langages, mais il peut néanmoins faire beaucoup de choses.

Q : Où les scripts peuvent-ils s'exécuter ?


R : Les scripts peuvent s'exécuter à l'intérieur d'un autre programme, comme dans un navigateur web ou Microsoft Excel.

Q : Qu'est-ce qu'un shell dans les langages de script et comment est-il utilisé ?


R : Il peut également s'agir d'un shell qui s'exécute à partir d'une interface de ligne de commande et qui fait des appels au système d'exploitation (OS). L'interpréteur de commandes est considéré comme interactif - l'utilisateur peut choisir ce qu'il tape et l'interpréteur de commandes répond à la commande. Ils peuvent être utilisés pour contrôler des tâches sur des ordinateurs centraux et des serveurs.

Q : Un langage polyvalent peut-il être un langage de script ?


R : Certains disent qu'un langage de script doit être lié à une utilisation spécifique. D'autres utilisent une définition plus large et incluent les langages de programmation à usage général qui sont interprétés et non compilés. Le terme "polyvalent" signifie qu'il peut être utilisé de différentes manières pour différentes choses. Certains langages à usage général (comme Java) ont des variantes qui peuvent être écrites. Il n'existe pas de règle spécifique sur ce qui est, ou n'est pas, un langage de script.

AlegsaOnline.com - 2020 / 2023 - License CC3