L'article classique sur les langages de script est John K. Ousterhout, Scripting: Higher-level programming for the 21st Century , publié dans Computer 31 (3), 1998. Il a établi une distinction entre les langages de script, d'une part, et les langages de programmation système sur L'autre.
Ousterhout a caractérisé les langages de programmation système comme ayant évolué pour remplacer les langages machine pour la programmation. Ils cachent des détails fastidieux comme l'affectation des registres et les séquences d'appels de sous-programmes, fournissent des constructions simples pour écrire des boucles et d'autres idiomes courants de contrôle et imposent une discipline de typage. Ils sont généralement implémentés par un compilateur (à l'avance). Ces langues sont destinées à l'écriture de logiciels à partir de zéro. Les exemples sont C, C ++ et Java.
En revanche, selon Ousterhout, les langages de script partent du principe qu'il existe déjà des programmes utiles, généralement écrits dans des langages de programmation système. Les langages de script, comme Perl, Python, Tcl, Visual Basic et les shells Unix, fournissent des outils pour combiner ces programmes existants dans de nouveaux programmes. Ousterhout a qualifié les langages de script de "sans type" (y compris ce que beaucoup appellent la frappe dynamique) et comme mettant l'accent sur un développement rapide; ils sont généralement mis en œuvre par des interprètes.
Maintenant, il faut faire attention de ne pas supposer que le modèle conceptuel d'un seul auteur fait autorité. Même si nous, les informaticiens, aimons prétendre que nous sommes des mathématiciens donnant des définitions précises à tous les termes, dans la pratique, la plupart des terminologies informatiques sont socialement construites avec des significations floues et hétérogènes; il existe un consensus approximatif à un niveau très élevé sur la plupart des termes, mais les détails dépendent souvent de la personne qui écrit. Ainsi, prenez son article, ma réponse et toutes les autres réponses ici avec un gros tas de sel.
Je contesterais personnellement l'existence d'un langage de programmation "normal", comme vous le dites dans votre question. Cependant, je pense que le concept que vous essayez de transmettre correspond grosso modo aux langages de programmation système d'Ousterhout.