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 possiblité d'exécution conditionnelle simple (||, &&) en fonction du résultat de l'étape immédatement 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.