O artigo clássico sobre linguagens de script é o script de John K. Ousterhout : programação de nível superior para o século XXI , publicado no Computer 31 (3), 1998. Ele fez uma distinção entre as linguagens de script, por um lado, e as linguagens de programação do sistema, por um lado. o outro.
Ousterhout caracterizou as linguagens de programação do sistema como tendo evoluído para substituir as linguagens de máquina pela programação. Eles ocultam detalhes tediosos como atribuição de registro e sequências de chamada de sub-rotina, fornecem construções simples para gravar loops e outros idiomas comuns de fluxo de controle e impõem uma disciplina de digitação. Eles geralmente são implementados por um compilador (antecipado). Essas linguagens destinam-se a escrever softwares desde o início. Exemplos são C, C ++ e Java.
Por outro lado, as linguagens de script, de acordo com Ousterhout, partem da premissa de que já existem programas úteis por aí, geralmente escritos em linguagens de programação de sistema. Linguagens de script, como Perl, Python, Tcl, Visual Basic e os shell do Unix, fornecem ferramentas para combinar esses programas existentes em novos programas. Ousterhout caracterizou as linguagens de script como "sem tipo" (incluindo o que muitos chamam de digitação dinâmica) e como enfatizando o desenvolvimento rápido; eles geralmente são implementados por intérpretes.
Agora, é preciso ter cuidado para não supor que o modelo conceitual de um único autor seja autoritário. Embora nós, cientistas da computação, gostemos de fingir que somos matemáticos, dando definições precisas a todos os termos, na prática, a maioria das terminologias de computação é socialmente construída com significados difusos e heterogêneos; existe um consenso aproximado em um nível muito alto sobre a maioria dos termos, mas os detalhes geralmente dependem de quem está escrevendo. Portanto, pegue seu artigo, minha resposta e todas as outras respostas aqui com um monte de sal.
Eu pessoalmente contestaria a existência de uma linguagem de programação "normal", como você diz na sua pergunta. No entanto, acho que o conceito que você está tentando transmitir corresponde aproximadamente às linguagens de programação do sistema de Ousterhout.