O termo "scripting language" é hoje em dia realmente ambíguo, indeciso ou simplesmente prejudicial, mas uma discussão de como isso veio a ser é uma discussão sobre a evolução das línguas às quais o rótulo é frequentemente aplicado.
Originalmente, scripting referia-se a linguagens cuja fonte era interpretada em tempo de execução em vez de compilada (por exemplo, shells como bash), mas passou a ser aplicada a linguagens como python e perl, que são ( pelo menos em suas encarnações atuais) pré-compilado em bytecode então executado. A ambiguidade aqui é que outras linguagens como o java funcionam da mesma maneira, mas ninguém se refere ao java como "uma linguagem de script".
A razão pela qual eles se encaixaram no shell (a "linguagem de script" original, acredito) é provável porque eles tendem a ser pelo menos uma ordem de magnitude mais lenta que linguagens compiladas, e então antes nós tínhamos computadores tão rápidos Essa diferença foi feita um pouco irrelevante em uma ampla gama de contextos, eles foram usados apenas para executar "scripts" curtos de arquivos de origem única. Isso também seria justo dizer sobre a maioria das coisas dinâmicas da web até 12-15 anos atrás - a maioria delas usava scripts CGI com um smidgeon de javascript (muitas vezes inlined / embedded) ambigüidade: java * script * geralmente é excluído da categoria "linguagem de script" porque não é de propósito geral.
Então, ao discutir o que é coloquialmente (ou prejudicialmente) referido como o lado do servidor mainstream "scripting languages" hoje, provavelmente faz mais sentido usar o termo linguagens orientadas a objetos dinamicamente tipadas (você poderia lance em "propósito geral" ou "lado do servidor" para excluir o javascript, que também é orientado a objetos e digitado dinamicamente). Estes incluem:
-
Perl
-
Python
-
PHP
-
Ruby
Eles distinguem-se de outras tecnologias comuns do lado do servidor, como Java e C #, pelo fato de usar dinâmico em vez de estático digitando, e que, novamente, é por isso que o que normalmente se entende por "scripting" linguagem no contexto da tecnologia web é realmente linguagem orientada a objetos dinamicamente tipo (o que certamente inclui javascript, se deixarmos de fora " lado do servidor "). A ironia aqui é que isso exclui as linguagens não-OO, como shell, mas o shell não é mais usado muito na programação da web de qualquer maneira.