Un langage de script est un type de langage de programmation interprété, sans compilation explicite. Un langage de script 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[pas clair]. Le langage de script peut alors s'affranchir des contraintes des commandes de bas niveau — prises en charge par l'intermédiaire de l'interface — et bénéficier d'une syntaxe de haut niveau.
Les langages de scripts sont des langages faciles à mettre en œuvre, et disposant de puissantes primitives et/ou d'une grande bibliothèque.
Les langages de script sont généralement exécutés à partir de fichiers (dits, précisément, scripts) contenant le code source du programme qui sera interprété. Il ne faut pas confondre le langage de script, qui est un langage de programmation, et le terme script, qui désigne les programmes écrits en langage de script.
Historiquement, les langages de script 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[réf. souhaitée]. Par la suite, ils furent munis d'exécutions conditionnelles implicites (IBM 1130) ou explicites (JCL), et enfin d'ordres de boucle et d'opérateurs les transformant en quasi-langages de programmation.
Le terme « langage de script » désigne parfois n'importe quel langage de programmation interprété. En pratique, le caractère interprété ou compilé se rapporte à une implémentation particulière, mais pas à un langage.
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.
Le terme langage de script a souvent une connotation négative, on préfère alors parler de langage de programmation dynamique quand c'est possible.