Les langages de script sont des langages de programmation que les gens considèrent comme des langages de script. C'est une catégorie artificielle sans frontière claire, et où chaque règle proposée a une exception.
Les règles classiques utilisées pour dire qu'un langage est un langage de script caractérisent et non définissent. Si un langage satisfait un certain nombre de règles, il y a de fortes chances qu'il soit considéré comme un langage de script. Sinon, il y a de fortes chances que ce ne soit pas le cas. Les règles comprennent généralement:
- Il est destiné aux petits "scripts", pas aux gros programmes.
- Il est intégré dans une autre application, utilisé pour de petites modifications de cette application.
- Il est interprété plutôt que compilé.
- Il est destiné aux programmeurs débutants, pas aux professionnels.
- Son nom se termine par "script".
J'ajouterais:
- Un langage de script est un langage de programmation dans lequel presque toutes les erreurs sont détectées au moment de l'exécution.
Autrement dit, il pourrait s'agir d'un langage interprété.
Si un langage de programmation a un comportement "au moment de la compilation" significatif lorsqu'il analyse le code et signale les erreurs sans exécuter le programme, comme les erreurs de type en C, Java ou C #, il n'est probablement pas considéré comme un langage de script.
Traditionnellement, de nombreux langages de script ont été interprétés directement à partir des sources, mais les plus populaires d'entre eux ont obtenu des implémentations plus performantes qui précompilent le code, comme les .pyc
fichiers Python , ou optimisent les moteurs JavaScript qui se compilent en code natif avant de s'exécuter.
Si le langage peut être implémenté par un interpréteur, qui ne regarde que le code source lors de son exécution, il est probablement considéré comme un langage de script. Qu'il soit réellement implémenté de cette manière n'est pas important, mais s'il peut l'être, il ne peut pas non plus nécessiter une vérification approfondie du code lors de la compilation.
Si le langage fournit une sémantique statique utile qui aide à détecter les erreurs (autres que les erreurs de syntaxe) sans avoir besoin d'exécuter le programme, ce n'est probablement pas un langage de script.
Il y a toujours des exceptions, généralement basées sur la tradition autour d'une langue plus que sur toute règle réelle. BASIC n'est généralement pas considéré comme un "langage de script", même s'il satisfait à peu près tous les critères que quiconque a jamais utilisés pour en être un. C'est pourquoi Visual Basic Script a dû ajouter le "script" au nom, pour se distinguer de Visual Basic, un "vrai" langage de programmation destiné aux programmes plus importants.
BASIC est également un ancien langage de programmation, comme COBOL et Fortran, d'avant que les gens ne s'attendaient à une analyse statique d'un langage, et avant même que les "langages de script" ne soient une chose.