Les langages de script sont un type spécifique de langage informatique que vous pouvez utiliser pour donner des instructions à d’autres logiciels, tels qu’un navigateur web, un serveur ou une application autonome. Parmi les langages de code les plus populaires aujourd’hui, on trouve les langages de script, tels que JavaScript, PHP, Ruby, Python, et plusieurs autres.

Comme les langages de script rendent le code plus simple et plus rapide, il n’est pas surprenant qu’ils soient largement utilisés dans le développement web.

Toutefois, ce n’est pas leur seul domaine d’application. Il existe aussi des langages de script pour les systèmes d’exploitation, les logiciels d’analyse statistique, les applications de bureautique, les moteurs de jeu et bien d’autres types de plateformes.

Que sont les langages de script ?

Les langages de script peuvent effectuer différentes actions dans un environnement d’exécution particulier, telles que l’automatisation de l’exécution de tâches, l’amélioration des fonctionnalités du logiciel parent, l’exécution de configurations, l’extraction de données à partir d’ensembles de données, et autres.

Les langages de script peuvent être créés de deux manières :

  1. Un environnement d’exécution peut introduire son propre langage de script, tel que Bash pour le système d’exploitation GNU ou VBA pour les applications Microsoft Office.
  2. Un environnement d’exécution peut adopter un langage de script existant, par exemple, le shell mongo de MongoDB été construit autour de JavaScript.

D’autre part, il arrive que le langage de script existe en premier et qu’il donne naissance à sa propre plateforme parente – aussi étrange que cela puisse paraître.

C’est ce qui s’est passé dans le cas de Node.js, un environnement d’exécution d’administration qui a été créé pour permettre aux développeurs web d’utiliser JavaScript non seulement en amont mais aussi en aval, en suivant le paradigme « JavaScript everywhere ».

Si vous envisagez d'apprendre un nouveau langage de script, consultez ce guide des 13 principales options 💻....puis passez à l'étude 🤓Click to Tweet

Que signifie scripter en programmation ?

L’action de scripter consiste essentiellement à écrire une série de commandes qui sont interprétées une à une par une par une application ou un moteur de script. Même si le script guide la plateforme dans ses actions (en lui donnant un script à lire et à interpréter), l’exécution est effectuée par l’environnement d’exécution et non par le langage de script lui-même.

C’est ainsi que les langages de script sont différents des langages de programmation tels que Java, que l’on peut « écrire une fois, exécuter n’importe où » (slogan officiel de Java signifiant que les programmes Java peuvent s’exécuter en tant qu’applications autonomes dans n’importe quel environnement; depuis son invention, il est également devenu le principe WORA qui fait référence aux capacités multi-plateformes).

Langages de script vs langages de programmation

Bien que les termes « langage de script » et « langage de programmation » soient souvent utilisés de manière interchangeable, ils ne sont pas identiques.

Spécifique à la plateforme ou non

Les langages de script sont spécifiques à une plateforme, tandis que les langages de programmation sont agnostiques à une plateforme (multi-plateformes) car ils ont la capacité de s’exécuter eux-mêmes. Par exemple, vous pouvez exécuter un programme Java sur n’importe quel système d’exploitation.

(Le plus souvent) Interprété vs compilé

Alors que les langages de programmation sont compilés, les langages de script sont pour la plupart interprétés – même s’il existe certains langages de script qui sont à la fois compilés et interprétés, comme Python et Groovy.

« Compilé » signifie qu’un langage de programmation possède son propre compilateur qui traduit la syntaxe en code machine avant l’exécution. En revanche, les langages de script sont interprétés ligne par ligne pendant l’exécution par l’interpréteur de la plateforme sur laquelle ils fonctionnent.

Plus rapide vs plus lent à l’exécution

En raison de cette différence d’implémentation, les langages de programmation fonctionnent plus rapidement que les langages de script car ils ne doivent pas être compilés en temps réel. Les compilateurs effectuent également un traitement collectif des erreurs avant l’exécution, tandis que les interpréteurs évaluent le code ligne par ligne, de sorte qu’ils se mettent en pause (ou s’arrêtent complètement) chaque fois qu’ils rencontrent une erreur.

Cela augmente également le temps d’exécution total des langages de script, même si sur un matériel moderne et plus rapide, ce problème est moins important qu’auparavant.

Plus ou moins de code intensif

Les langages de programmation sont plus exigeants en termes de code car vous devez faire manuellement de nombreuses choses qui sont gérées par la plateforme dans le cas des langages de script. Si vous utilisez un langage de script, vous devez écrire beaucoup moins de code.

Applications autonomes vs applications faisant partie d’une pile

Il y a des choses qu’on ne peut tout simplement pas faire avec un langage de script. Le plus important est que vous ne pouvez pas créer d’applications autonomes desktop et mobiles avec un langage de script, car il n’y a pas d’environnement d’exécution qui les interprète.

Par exemple, vous pouvez utiliser des frameworks PHP tels que WordPress et Laravel uniquement pour les sites web et les applications web car ils utilisent le navigateur web comme environnement d’exécution. De même, les applications mobiles WordPress s’exécutent dans des environnements d’exécution mobiles, tels que Capacitor, qui intègrent des vues web.

Langages de script vs programmation – Aperçu des différences

Les principales différences entre les langages de script et de programmation sont donc les suivantes :

Langages de script Langages de programmation
Spécifique à la plateforme Plateforme agnostique (multi-plateforme)
Interprété (Le plus souvent) Compilé
Plus rapide à l’exécution Plus lent à l’exécution
Plus de codes Moins de codes
Crée des applications autonomes Crée des applications faisant partie d’une pile

Confusions sur les langages de script

Il existe certaines confusions sur les langages de script que vous rencontrerez fréquemment, alors examinons-les avant d’aborder les meilleurs langages de script.

Plus important encore, il n’est pas très logique de parler de langages de script frontend vs backend, même si de nombreux articles que vous trouverez partout sur le web utilisent ce genre de regroupement.

Il n’y a en fait qu’un seul langage de script frontend actuellement utilisé, et c’est le JavaScript (il en existait d’autres auparavant, comme l’ActionScript et le JScript, mais ils sont tous obsolètes aujourd’hui).

Ce n’est pas l’opposition frontend vs backend qui est importante dans le contexte des langages de script, mais le ou les environnements d’exécution où un langage de script peut s’exécuter.

Notez que « frontend » signifie simplement quelque chose (image, police, balisage, feuille de style, script, un autre type de fichier statique) qu’un navigateur web peut interpréter. Par exemple, essayez d’ouvrir un fichier PHP directement depuis le navigateur web : vous ne pouvez pas, car un serveur d’application PHP doit l’interpréter. PHP est donc un langage de script backend dans le contexte du développement web, tandis que la couche application d’une pile de serveurs (par exemple LAMP) dans le contexte des langages de script.

Outre le développement web (script frontend et backend), les langages de script peuvent également être utilisés pour de multiples choses telles que la programmation et la configuration de systèmes d’exploitation et d’applications/environnements spécifiques, la manipulation d’ensembles de données, l’automatisation de tâches, et bien d’autres encore.

Un langage de script peut également fonctionner dans plusieurs environnements.

Ceux qui ne sont pas des langages de script

Avant d’entrer dans les meilleurs langages de script, voyons les langages de codage qui sont parfois faussement appelés langages de script, mais avec lesquels on ne peut pas scripter :

13 meilleurs langages de script

Il existe de nombreux excellents langages de script qui mériteraient d’être mentionnés dans ce guide, mais ils ne sont plus en développement actif. Cependant, les 13 langages de script suivants sont régulièrement mis à jour et sont également utilisés en production.

Donc si vous envisagez d’apprendre un nouveau langage de script comme nouvelle voie professionnelle, ils valent tous la peine d’être tentés.

1. JavaScript/ECMAScript

JavaScript

JavaScript

JavaScript est une implémentation de la norme ECMA-262 qui définit le langage de script généraliste ECMAScript (ES). En d’autres termes, JavaScript est un dialecte du langage ECMAScript, il n’a donc pas de spécification autonome mais utilise la même syntaxe que l’ECMAScript.

JavaScript possède des fonctions de premier ordre (les fonctions sont traitées comme des variables) et prend en charge la programmation orientée objet basée sur des prototypes (les objets existants sont réutilisés comme prototypes).

Exemple de code

L’ECMAScript utilise une syntaxe entre accolades. L’exemple de code JavaScript suivant additionne les chiffres de 1 à 10 et affiche le résultat dans la console (vous pouvez le tester dans la console JavaScript de votre navigateur web en appuyant sur F12) :

let total = 0, count = 1;

while (count <= 10) {
    total += count;
    count += 1;
}

console.log(total);
// 55

Source: Eloquent JavaScript by Marijn Haverbeke: Introduction

Cas d’utilisation et environnements

JavaScript est le langage de script utilisé par les navigateurs web modernes, tels que le moteur V8 de Chrome et le moteur SpiderMonkey de Mozilla. En outre, il peut être utilisé dans des environnements autres que les navigateurs. L’environnement d’exécution NodeJS a été créé pour permettre aux développeurs web de l’utiliser sur le backend.

Les shells de certains systèmes de gestion de bases de données NoSQL, tels que MongoDB et Apache CouchDB, et certains systèmes de gestion de bases de données relationnelles, tels que MySQL Shell susmentionné, l’utilisent également comme langage de script.

2. PHP

PHP

PHP

PHP est un langage de script généraliste open source utilisé dans le développement de sites web. L’acronyme signifiait à l’origine « Personal Home Page », car PHP a été créé pour ajouter des fonctionnalités dynamiques à des pages HTML statiques.

Depuis lors, PHP a évolué vers un langage autonome, de sorte que l’acronyme est maintenant utilisé dans le sens de « préprocesseur hypertexte ». PHP est peu typé (vous n’avez pas besoin de déclarer les types de données des variables), peut être intégré dans des documents HTML et possède également des fonctionnalités orientées objet.

Exemple de code

PHP a une syntaxe de type C. L’exemple de code PHP suivant crée un tableau numérique de quatre éléments, les fait passer en boucle, multiplie chaque élément par deux et supprime la variable $value lorsque la boucle est terminée.

<?php
$arr = array(1, 2, 3, 4);

foreach ($arr as &$value) {
   $value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)

unset($value);
?>

Source: Documentation PHP : Structures de contrôle

Cas d’utilisation et environnements

PHP peut être exécuté sur différents serveurs HTTP, Apache et Nginx étant les plus populaires.

Les piles de serveurs PHP les plus courantes sont LAMP (Linux, Apache, MySQL, PHP), LEMP (Linux, Nginx, MySQL, PHP – utilisé par Kinsta), et WAMP (Windows, Apache, MySQL, PHP), et MAMP (macOS, Apache, MySQL, PHP).

Il est également utilisé par de nombreux systèmes de gestion de contenu (CMS) populaires tels que WordPress, Drupal et Joomla, ainsi que par des frameworks d’applications web comme Laravel, Symfony et CodeIgniter, qui sont tous construits sur le langage PHP et l’enrichissent de fonctionnalités supplémentaires.

Vous pouvez également utiliser PHP pour le développement local de WordPress.

3. Python

Python

Python

Python est actuellement le deuxième langage de code le plus populaire sur GitHub (après JavaScript). Il est apprécié pour sa syntaxe claire et concise – lorsqu’on code en Python, on doit saisir beaucoup moins que dans la plupart des autres langues.

Python est un projet gratuit et open source, géré par la Python Software Foundation. Il soutient les paradigmes de programmation structurée, orientée objet et fonctionnelle, et dispose d’une vaste bibliothèque standard qui est une collection de modules Python couramment utilisés.

Exemple de code

Python n’utilise pas d’accolades et les points-virgules sont facultatifs, de sorte que le code est facile à lire et à écrire. L’exemple de code Python suivant met en boucle des entiers entre 0 et 4, et les affiche :

count = 0
while count < 5:
   print(count)
      count += 1

Source: Learn Python: Loops

Cas d’utilisation et environnements

L’implémentation Python la plus populaire est CPython, écrite en langage C. C’est également l’implémentation de référence que vous téléchargez avec le langage Python. Même si Python est un langage interprété, CPython utilise à la fois une étape de compilation et d’interprétation. Tout d’abord, il compile le code source en bytecode (différent du code machine) qu’il interprète au moment de l’exécution.

Outre CPython, Python dispose d’autres environnements d’exécution, notamment PyPy qui omet l’étape de compilation et ne fait qu’une interprétation JIT (Just In Time). Les implémentations de Python sont multi-plateformes, ce qui signifie qu’elles fonctionnent sur plusieurs systèmes d’exploitation, dont Linux, Windows et macOS.

Le langage Python est fréquemment utilisé dans l’apprentissage des machines, le développement de sites web (Django étant le web framework le plus populaire), l’analyse des données, l’automatisation, l’informatique scientifique et le web scrapping.

4. Ruby

Ruby

Ruby

Ruby est un langage de script open source, à usage général, avec une syntaxe compacte et facile à lire. Il suit les principes de la programmation orientée objet et vous permet d’écrire un code propre et logique. En Ruby, tout est un objet, même les types qui sont primitifs dans la plupart des langages, comme les booléens et les entiers.

Les concepts orientés objet tels que l’héritage, les mixins et les métaclasses sont également très utilisés.

Bien que Ruby ait une conception purement orientée objet, il supporte également la programmation procédurale (les fonctions et variables définies en dehors des classes appartiennent à l’objet Self) et la programmation fonctionnelle (par le biais de fonctions anonymes, de fermetures et de continuations).

Exemple de code

Ruby a une syntaxe concise similaire à celle de Python. L’exemple de code Ruby suivant définit la classe KaraokeSong comme une sous-classe de la classe Song :

class KaraokeSong < Song
   def initialize(name, artist, duration, lyrics)
      super(name, artist, duration)
      @lyrics = lyrics
   end
end

Source: Guide de référence pour la programmation en Ruby : Classes, Objets et Variables

Cas d’utilisation et environnements

Ruby est principalement utilisé dans le développement de sites web, et alimente des frameworks web robustes tels que Ruby on Rails. De nombreux sites web et applications populaires tournent sous Ruby on Rails, comme Airbnb, Shopify, GitHub et Hulu.

Ruby est également le langage dans lequel sont écrits de nombreux outils populaires de développement web, notamment le préprocesseur CSS Sass, le générateur de site web statique Jekyll et l’environnement de machine virtuelle Vagrant.

L’implémentation par défaut de Ruby est YARV (Yet Another Ruby Virtual Machine). Elle a changé l’interprèteur original de Ruby, Matz, qui avait été critiqué pour ses problèmes de vitesse et d’adaptabilité (également Ruby MRI ou CRuby).

Il existe également plusieurs environnements d’exécution concurrents pour Ruby, tels que JRuby (qui permet d’exécuter Ruby sur la machine virtuelle Java), mruby (une implémentation légère que vous pouvez intégrer dans votre application), TruffleRuby (l’interpréteur Ruby d’Oracle basé sur GraalVM), Rubinius (une machine virtuelle native du cloud pour Ruby), et d’autres encore.

5. Groovy

Groovy

Groovy

Groovy est un incroyable langage flexible écrit pour la machine virtuelle Java (JVM) qui peut être utilisé à la fois comme langage de script et de programmation. Il s’agit d’un projet open source géré par l’Apache Software Foundation. Groovy est un langage orienté objet qui étend la superclasse java.lang.Object.

Il prend en charge le typage statique et dynamique (la vérification du type peut être effectuée à la fois au moment de la compilation et de l’exécution) et prend en charge en natif les listes, les tableaux associatifs, les expressions régulières et les langages de balisage tels que HTML et XML.

Vous pouvez utiliser Groovy avec les bibliothèques Java existantes.

Exemple de code

Groovy a une syntaxe compatible avec Java, utilisant des accolades. L’exemple de code Groovy suivant définit la classe Coordinates avec les propriétés de latitude et de longitude et la méthode getAt() :

@Immutable
class Coordinates {
   double latitude
   double longitude

   double getAt(int idx) {
      if (idx == 0) latitude
      else if (idx == 1) longitude
      else throw new Exception("Wrong coordinate index, use 0 or 1")
   }
}

Source: Documentation Groovy : Semantics

Cas d’utilisation et environnements

Comme Groovy se compile en byte-code Java, vous pouvez l’utiliser comme un langage de programmation général similaire à Java. Dans ce cas, vous pouvez compiler le code source en byte-code avant l’exécution en utilisant le compilateur groovyc (l’équivalent de javac).

Cependant, il existe également de nombreuses implémentations de Groovy qui permettent de l’utiliser comme langage de script. Les plus populaires sont le framework web Grails (anciennement connu sous le nom de Groovy on Grails) et l’outil d’automatisation de la construction Gradle, mais il en existe aussi plusieurs autres.

6. Perl

Perl

Perl

Perl est un langage de script polyvalent qui existe depuis plus de trente ans (depuis 1987). À l’origine, il a été créé comme un langage de script UNIX pour le traitement des rapports. C’est également de là que vient son nom, l’acronyme Perl signifiant « Practical Extraction and Reporting Language ».

Le langage Perl est devenu populaire dans les années 1990 lorsque les programmeurs ont commencé à l’utiliser largement pour les scripts CGI (Common Gateway Interface), qui est une ancienne spécification d’interface pour les serveurs web (actuellement, il est principalement utilisé par les sites en ayant hérités).

Bien qu’il soit un acteur relativement précoce, Perl est toujours le 11ème de l’index TIOBE et le 21ème langage le plus populaire sur GitHub (en octobre 2020).

Exemple de code

La syntaxe de Perl est similaire à celle du langage C. L’exemple de code Perl ci-dessous définit d’abord la sous-routine square() qui calcule et renvoie le carré d’un nombre, puis passe la valeur 8 en argument, exécute la sous-routine et enregistre le résultat dans la variable $sq :

sub square {
   my $num = shift;
   my $result = $num * $num;
   return $result;
}

$sq = square(8);

Source: Perl docs: Perl Intro

Cas d’utilisation et environnements

Même si, de nos jours, ce n’est pas le choix le plus fréquent des développeurs web, Perl peut être utilisé avec succès dans le développement backend. Outre l’environnement d’exécution CGI, il s’exécute également sur les serveurs web Apache et Nginx – la pile LAMP est en fait LAMPP, ce qui signifie Linux, Apache, MySQL, PHP et Perl.

Il existe également quelques frameworks web en Perl, dont les plus populaires sont Catalyst, Mojolicious et Dancer.

Perl est utilisé par plusieurs sites web et applications notables tels qu’Amazon, IMDB, Booking.com et le iPlayer de la BBC. Il est également utilisé dans d’autres domaines, tels que la programmation réseau et l’administration système. Vous pouvez également consulter le Comprehensive Perl Archive Network (CPAN), où plus de 25 000 projets Perl open source sont disponibles au téléchargement.

7. Lua

Lua

Lua

Lua est un langage de script rapide et léger. Le mot « lua » signifie « lune » en portugais, car la langue est développée et maintenue par l’Université catholique pontificale de Rio de Janeiro au Brésil. Lua soutient les paradigmes de programmation procédurale, orientée objet et fonctionnelle.

Comme l’interpréteur de Lua est écrit en C, il peut être facilement intégré dans des applications grâce à son API C. Cela étant dit, vous pouvez utiliser Lua pour étendre des applications existantes écrites dans des langages basés sur le C tels que C, C++, C#, Java, Perl, Ruby et d’autres.

Exemple de code

Lua a une syntaxe concise et facile à lire, similaire à celle de Python et Ruby. L’exemple suivant de code Lua montre comment utiliser l’instruction if-then-else. Il évalue d’abord la variable op, puis effectue des opérations arithmétiques de base en fonction de sa valeur :

if op == "+" then
   r = a + b
elseif op == "-" then
   r = a - b
elseif op == "*" then
   r = a * b
elseif op == "/" then
   r = a / b
else
   error("invalid operation")
end

Source: Guide de référence sur la programmation Lua : Déclarations

Cas d’utilisation et environnements

L’implémentation par défaut de Lua n’interprète pas directement le code source mais le compile d’abord en code d’octets qu’il exécute ensuite sur la machine virtuelle Lua. Comme tout cela se produit au moment de l’exécution, il n’y a pas d’étape de compilation manuelle à effectuer (même si vous pouvez choisir de compiler Lua avant l’exécution pour améliorer les performances).

Il existe également d’autres mises en œuvre de Lua, comme LuaJIT, LuaVela et bien d’autres.

Lua est fréquemment utilisé pour développer des jeux vidéo, tels que Angry Birds, World of Warcraft et Grim Fandango. Comme il est facile à intégrer, il est également un choix fréquent pour les dispositifs intégrés tels que les décodeurs, les tableaux de bord de voitures (par exemple Volvo), les caméras IP (par exemple Cisco), et autres.

Il peut également être utilisé dans le développement web, car les serveurs Apache et Nginx disposent tous deux d’un module Lua (ici, le module mod_lua d’Apache, et ici, le module ngx_http_lua de Nginx). Wikipedia a choisi Lua comme langage de script pour ses modèles, et l’interface utilisateur d’Adobe Photoshop Lightroom est également écrite en Lua.

8. Bash

BashBash est le nom d’un interpréteur de ligne de commande (shell) pour le système d’exploitation GNU et le langage de script correspondant. « Linux » est en fait le système d’exploitation GNU utilisant le noyau Linux (un noyau est la partie centrale du système d’exploitation, c’est le premier programme que le système d’exploitation charge).

Bash est un remplacement du shell UNIX original Bourne (sh) – l’acronyme Bash signifie « Bourne Again SHell » (un jeu de mots sur « born again shell »).

En plus d’être le sur-ensemble de la syntaxe du shell Bourne, Bash inclut également des fonctionnalités d’autres langages de script shell tels que KornShell (ksh) et C shell (csh) – par exemple, la modification en ligne de commande et l’historique des commandes. Vous pouvez utiliser Bash à la fois en mode interactif (exécution d’une commande à la fois et attente de la réponse de la machine) et en mode script (exécution d’un ensemble de commandes – un script Bash – à la fois).

Exemple de code

Comme la plupart des langages de script CLI, Bash a une syntaxe simple et descriptive. L’exemple de code Bash suivant sélectionne un fichier dans le répertoire courant et produit un message contenant le nom et l’index du fichier :

select fname in *;
do
   echo you picked $fname \($REPLY\)
   break;
done

Source: Manuel de référence Bash : Constructions conditionnelles

Cas d’utilisation et environnements

Vous pouvez utiliser Bash pour apporter des modifications et effectuer différentes actions liées à votre système d’exploitation, telles que l’exécution de commandes, la réalisation de tâches que la plupart des gens feraient à l’aide d’une interface utilisateur graphique (par exemple, la création, le déplacement ou la suppression de répertoires et de fichiers), la personnalisation et l’automatisation de tâches administratives, la connexion à un serveur distant, et bien d’autres encore.

Bash est le shell par défaut pour de nombreux systèmes d’exploitation basés sur Unix, y compris la plupart des distributions Linux et toutes les versions de macOS jusqu’à MacOS Catalina qui a remplacé Bash par le shell Z (Zsh) en 2019. Vous pouvez également exécuter des scripts Bash sur Windows 10, en utilisant la couche de compatibilité de Windows Subsystem for Linux (WSL) développée par Microsoft.

9. PowerShell

PowerShell

À l’origine, PowerShell était un shell en ligne de commande et un langage de script uniquement pour le système d’exploitation Windows. Depuis lors, Microsoft l’a développé en open source et l’a fait passer du .NET Framework, qui ne peut créer que des applications Windows, au .NET Core, qui peut créer des applications pour Windows, Linux et MacOS. Cela signifie que PowerShell est désormais multi-plateforme.

Il a également été renommé de Windows PowerShell en PowerShell Core, correspondant au framework sous-jacent. Contrairement à la plupart des shells en ligne de commande, PowerShell accepte et renvoie des objets .NET au lieu de texte en clair, ce qui ouvre de nouvelles possibilités d’automatisation des tâches.

Exemple de code

PowerShell a une syntaxe compacte qui rend le travail en ligne de commande plus rapide. L’exemple de code PowerShell ci-dessous crée une sauvegarde du fichier boot.ini et l’enregistre dans le fichier boot.bak :

Copy-Item -Path C:\boot.ini -Destination C:\boot.bak

Source: Documentation PowerShell : Travailler avec des fichiers et des répertoires

Cas d’utilisation et environnements

Vous pouvez utiliser PowerShell sur les systèmes d’exploitation Windows, Linux, macOS et certains appareils ARM (par exemple , les lecteurs multimédias, les tablettes et autres appareils électroniques grand public).

Vous pouvez utiliser PowerShell pour l’administration système, l’automatisation des tâches et la gestion de la configuration. Pour trouver des modules et des scripts PowerShell, vous pouvez également consulter la galerie PowerShell et la collection officielle d’exemples de scripts de Microsoft.

10. R

RR est à la fois un environnement logiciel et un langage de script que vous pouvez utiliser pour le calcul statistique, l’analyse des données et l’affichage graphique. Il s’agit d’un projet GNU libre et gratuit et d’une implémentation du langage de calcul statistique S (qui n’est plus en développement actif).

R vous permet d’utiliser de nombreuses techniques statistiques différentes, telles que les tests statistiques classiques, le regroupement, l’analyse des séries chronologiques, la modélisation linéaire et non linéaire, et autres.

Exemple de code

La syntaxe de R est différente de celle de la plupart des langages de script et comporte également quelques éléments inhabituels – par exemple, l’opérateur d’affectation primaire est <- au lieu du signe = et il comporte des boucles sans boucle – pour en savoir plus sur les bizarreries de la syntaxe de R, consultez ce guide du débutant de Sharon Machlis.

L’exemple de code R suivant définit un attribut names pour le vecteur fruit (structure de données de base dans R qui contient des éléments du même type) qui utilise des noms alphanumériques (orange, banana, apple, peach) pour aider à identifier ses composants. Plus tard, le sous-vecteur lunch (ou un autre) peut accéder à chaque composante en utilisant son nom d’alias :

> fruit <- c(5, 10, 1, 20)
> names(fruit) <- c("orange", "banana", "apple", "peach")
> lunch <- fruit[c("apple","orange")]

Source: Une introduction à la R : Vecteurs d’index ; sélection et modification de sous-ensembles d’un ensemble de données

Cas d’utilisation et environnements

L’environnement logiciel R est multi-plateformes ; vous pouvez le faire fonctionner sur les systèmes d’exploitation Windows, Linux et macOS. L’implémentation R par défaut est également disponible dans d’autres langages de script tels que Python et Perl. Cela signifie que vous pouvez accéder à toutes les fonctionnalités statistiques de R en utilisant ces langages de script.

Outre l’environnement R par défaut, vous pouvez également utiliser le langage de script R dans d’autres environnements, tels que pqR (qui signifie Pretty Quick version of R ») et Renjin (une implémentation de R en plus de la machine virtuelle Java).

11. VBA

VBAVBA signifie Visual Basic for Applications et est une implémentation du langage de programmation Visual Basic 6 (non développé activement depuis 2008). Il a été créé pour les applications Microsoft Office afin de permettre aux développeurs d’automatiser les tâches répétitives, d’ajouter de nouvelles fonctionnalités et d’interagir avec les utilisateurs finaux des documents.

Tout comme Visual Basic, VBA suit le paradigme de la programmation pilotée par les événements qui place des événements tels que les actions de l’utilisateur au centre du déroulement du programme.

Comme les applications Microsoft Office ont une interface utilisateur graphique, vous pouvez attacher des scripts VBA aux boutons de menu, aux raccourcis clavier, aux macros (patterns programmables) et aux événements OLE (Object Linking and Embedding qui vous permet de contrôler une application à partir d’une autre; c’est une technologie propriétaire de Microsoft).

Exemple de code

Comme VBA est basé sur Visual Basic (qui est une amélioration du BASIC), il utilise une syntaxe similaire aux langages de la famille BASIC (Beginners’ All-purpose Symbolic Instruction Code) – ce qui signifie qu’il est très adapté aux débutants.

L’exemple de code VBA ci-dessous utilise la méthode GetCertificateDetail() de l’objet SignatureInfo pour obtenir la date d’expiration d’un certificat numérique :

Sub GetCertDetails()
Dim objSignatureInfo As SignatureInfo
Dim varDetail As Variant

strDetail = objSignatureInfo.GetCertificateDetail(certdetExpirationDate)

End Sub

Source: Référence Office VBA : Objet SignatureInfo

Cas d’utilisation et environnements

Le langage de script VBA est intégré dans la plupart des applications Microsoft Office, respectivement Access, Excel, Office for Mac, Outlook, PowerPoint, Project, Publisher, Visio et Word – chacune ayant un guide de référence séparé sur le site de documentation de Microsoft tandis que les concepts généraux de VBA sont détaillés dans la référence de la bibliothèque.

Outre les applications Microsoft Office, il existe d’autres applications qui prennent également en charge VBA, telles qu’AutoCAD et CorelDRAW.

12. Emacs Lisp

Emacs LispEmacs Lisp est un langage de script spécifique à un domaine, conçu pour l’éditeur de texte GNU Emacs. C’est un dialecte de la famille des langages de programmation Lisp (le nom vient de LISt Processor).

Comme Emacs Lisp a été conçu pour être utilisé dans un éditeur de code, il est doté d’un ensemble de fonctionnalités spécifiques à cet environnement, telles que l’analyse et le balayage du texte, la gestion des tampons (objets avec texte modifiable) et de l’affichage, entre autres.

Le langage de script Emacs Lisp est étroitement intégré à l’interface de l’éditeur lui-même, de sorte que chaque commande est également une fonction Lisp que vous pouvez appeler depuis votre script, et les paramètres de personnalisation sont également des variables Lisp.

Exemple de code

La syntaxe d’Emacs Lisp est basée sur une notation de préfixe entièrement entre parenthèses qui peut être un peu difficile à lire au début si vous n’avez jamais travaillé avec un langage Lisp auparavant.

L’exemple de code Emacs Lisp suivant définit deux variables (symboles) et attribue une liste de valeurs à chacune – une liste d’arbres (pine, fir, oak, maple) aux symboles trees et à une liste d’herbivores (gazelle, antelope, zebra) pour les symboles herbivores :

(setq trees '(pine fir oak maple)
   herbivores '(gazelle antelope zebra))

Source: Une introduction à la programmation en Emacs Lisp : Fixer la valeur d’une variable

Cas d’utilisation et environnements

L’éditeur de texte Emacs est une application multi-plateformes que vous pouvez installer sur des machines Windows, Linux et MacOS.

Grâce au langage de script Emacs Lisp, vous pouvez étendre et personnaliser l’éditeur de code, répéter et automatiser des processus, créer des graphiques, limiter le focus à des zones spécifiques (pour des raisons de sécurité), rechercher des expressions régulières, stocker du texte, définir des modes et des keymaps, poser des questions aux utilisateurs et effectuer de nombreuses autres actions.

Il existe également quelques frameworks de configuration pour Emacs Lisp – Doom Emacs et Spacemacs étant les plus connus.

13. GML

GML

L’acronyme GML signifie GameMaker Language. C’est un bon exemple de langage de script spécifique à un domaine utilisé dans le développement de jeux. GML est un langage de script propriétaire appartenant à GameMaker Studio 2, un moteur de jeu multi-plateformes et une plateforme de développement appartenant à YoYo Games, qui en assure la maintenance.

Même si GML est principalement utilisé pour contrôler les objets du jeu, ce n’est pas un langage orienté objet mais un langage procédural. Il vous permet d’appeler des scripts personnalisés à partir de n’importe quel objet de jeu.

Outre le langage de script GML, GameMaker Studio 2 dispose également d’un outil de script visuel appelé Drag and Drop (DnD). En raison de la nature flexible de GameMaker Studio 2, vous pouvez également mélanger DnD avec vos scripts GML.

Exemple de code

La syntaxe de GML est similaire à celle de JavaScript et d’autres langages de type C.

L’exemple de code GML suivant permet à un objet de jeu de se déplacer horizontalement vers le pointeur de la souris sur l’écran à une vitesse de 5 pixels par pas. Une fois qu’il atteint la position actuelle du pointeur, le script crée un calque à effet d’explosion, le lance (il y a un effet d’explosion à l’écran), puis détruit l’instance (l’effet d’explosion est supprimé) :

if mp_linear_step(mouse_x, mouse_y, 5, 0) {
   instance_create_layer(x, y, "Effects", obj_Explosion);
   instance_destroy();
}

Source: Docs GameMaker Studio 2 – Scripting – Référence GML – Mouvement et collisions – Planification du mouvement

Cas d’utilisation et environnements

GML est interprété par GameMaker Studio 2 que vous devez acheter si vous voulez développer des jeux dans ce langage de script.

Le prix dépend de la plateforme pour laquelle vous souhaitez créer des jeux : les jeux Mac et Windows sont les moins chers ; les jeux de bureau multi-plateformes (Windows, macOS, Ubuntu), les jeux web HTML5, les jeux UWP (Universal Windows Platform) et les jeux mobiles multi-plateformes (Android, Fire, iOS) se situent dans la moyenne; et les jeux PS4, Xbox One et Nintendo Switch sont les plus chers.

Parmi les exemples de jeux vidéo créés avec le GML, citons Blackhole, 10 Second Ninja X, Death’s Gambit, Deltarune, et plusieurs autres.

Prêt à apprendre un autre langage de script ? 👩‍💻 Ces 13 options sont régulièrement mises à jour et utilisées en production, ce qui en fait un excellent complément à votre CV. 💼Click to Tweet

Résumé

Il ne fait aucun doute que les langages de script sont fascinants. Ils ont de nombreuses variations, syntaxes et implémentations différentes, et peuvent être utilisés pour beaucoup de choses.

De la création de sites web dynamiques à l’automatisation de l’administration du système, en passant par la création de jeux vidéo, etc.

Les trois choses les plus importantes à retenir au sujet des langages de script sont les suivantes :

Ils ne peuvent pas fonctionner seuls mais ont toujours besoin d’un environnement (implémentation, runtime) avec un interpréteur pour ce langage de script.

Parfois, vous pouvez utiliser des langages de script à usage général pour accéder à des environnements et des plateformes créés principalement pour d’autres langages de programmation ou de script. Pensez à JRuby (qui vous permet d’exécuter Ruby sur la machine virtuelle Java), Renjin (implémentation R également sur la JVM), Rpy2 (interface R que vous pouvez utiliser à partir de Python), comme de bons exemples.

Enfin, avant d’apprendre un nouveau langage de script, il est toujours bon de vérifier sa popularité actuelle en utilisant l’index TIOBE ou GitHut.

Selon le cas, vous trouverez également plus ou moins d’exemples de scripts, de dépôts GitHub, de bibliothèques de modules, de guides de référence, de manuels détaillés et de vitrines d’applications qui vous aideront à vous familiariser avec la langue… et à obtenir des projets et des emplois mieux rémunérés !


Si vous avez aimé cet article, alors vous allez adorer la plateforme d’hébergement WordPress de Kinsta. Accélérez votre site Web et obtenez le support 24/7 de notre équipe de vétérans de WordPress. Notre infrastructure propulsée par Google Cloud met l’accent sur la mise à l’échelle automatique, la performance et la sécurité. Laissez-nous vous montrer la différence de Kinsta ! Découvrez nos plans