Linguagem de scripting

Uma linguagem de script ou scripting é uma linguagem de programação que suporta scripts. Os scripts são geralmente programas curtos de computador que fazem passos que podem ser feitos um de cada vez por uma pessoa. Isto automatiza um trabalho para torná-lo mais fácil e mais confiável. Uma linguagem de scripting é freqüentemente uma linguagem mais simples e mais fácil de aprender do que outras linguagens, mas ainda pode fazer muitas coisas.

Os scripts podem ser executados dentro de outro programa, como em um navegador da web ou no Microsoft Excel. Eles também podem ser uma shell que roda a partir de uma interface de linha de comando e faz chamadas para o sistema operacional (SO). O shell é considerado interativo - o usuário pode escolher o que digitar, e o shell responde ao comando. Estes podem ser usados para controlar trabalhos em mainframes e servidores.

Algumas pessoas dizem que uma linguagem de script deve estar ligada a um uso específico. Outros utilizam uma definição mais ampla e incluem linguagens de programação de propósito geral que são interpretadas, não compiladas. De uso geral significa que ela pode ser usada de muitas maneiras para diferentes coisas. Algumas linguagens de uso geral (como Java) têm variações que podem ser roteirizadas (Javascript). Não há nenhuma regra específica sobre o que é, ou não é, uma linguagem de scripting.

Exemplos

Alguns exemplos comuns de linguagens de scripting:

  • Bash e C shell, como linguagens de controle para os sistemas operacionais Unix ou tipo Unix
  • Scripts que rodam dentro de outras aplicações são chamados de linguagem de extensão. Os navegadores web permitem vários tipos de scripts, incluindo ECMAScript (JavaScript) ou XUL. Por exemplo, a página inicial do Google usa JavaScript. O Visual Basic for Applications é usado dentro do Microsoft Office. Lua é uma linguagem feita propositalmente como uma linguagem de extensão, e pode ser usada dentro de muitas aplicações.
  • Os jogos que têm extensões de roteiro incluem o mundo virtual Second Life e os simuladores Trainz Railroad. Em outros jogos como Wesnoth, a variedade de jogos reais jogados são scripts escritos por outros usuários.
  • Idiomas de processamento de texto sed e AWK
  • Objetivo geral: Perl, Tcl e Python são linguagens de programação de alto nível (mais próximas da linguagem humana do que do código da máquina) que podem ser usadas para muitas coisas diferentes. Algumas destas linguagens foram feitas primeiro para um uso particular, e depois foram transformadas em linguagens de uso geral.

Características

A maioria das linguagens de scripting são feitas para serem fáceis de aprender. Muitas vezes podem ser arquivos curtos com código fonte, ou inseridos um comando de cada vez em uma interface de linha de comando, que tem um loop de leitura-avaliação-impressão (REPL, language shell). Isto geralmente significa um conjunto simples de comandos. Pode não haver funções ou um comando principal, ele apenas roda do início ao fim. Se algo não funcionar, um programador pode fazer mudanças rápidas e executá-lo novamente. Isto faz com que uma linguagem de script seja boa para fazer um protótipo rápido para ver se uma idéia funciona.

Por exemplo, a maioria das pessoas não chama Java de linguagem de script, devido a sua longa sintaxe e regras sobre quais classes existem em quais arquivos, e porque Java não pode ser executado interativamente em uma REPL. Ele precisa de arquivos com código fonte, e eles só podem conter definições que devem ser utilizadas por uma aplicação host ou um lançador de aplicações. (Java não é o mesmo que JavaScript).

Mas Python permite escolhas - as funções podem ser colocadas em um arquivo, ele pode ser executado sem funções e usar um estilo de programação imperativo, ou mesmo usá-lo interativamente (digite e execute uma linha de cada vez).

imprimir ("Hello World")

Esta única linha de código Python imprime "Hello World"; nenhuma função principal() ou qualquer outra coisa é necessária.

Uma linguagem de script é geralmente interpretada a partir do código fonte ou bytecode. No entanto, algo tem que executar o script (interpretá-lo) para que o computador o entenda. Isto é uma aplicação, ou algo no sistema operacional. Isso é freqüentemente escrito em uma linguagem compilada e distribuído em forma de código de máquina (como um executável que não faz sentido para os humanos).

As linguagens de scripting podem ser projetadas para serem usadas pelas pessoas que utilizam um programa - desenvolvimento do usuário final. Outras vezes elas podem ser construídas por programadores para seu próprio uso. As linguagens de scripting muitas vezes usam abstração, uma forma de esconder informações. Isto significa que os usuários não precisam conhecer os detalhes dos tipos de variáveis, armazenamento de dados e gerenciamento de memória.

Os roteiros são frequentemente feitos ou alterados pela pessoa que os executa, mas alguns são compartilhados ou vendidos a outros. Por exemplo, quando grandes partes dos jogos são escritas em uma linguagem de roteiro. Algumas vezes um roteiro pode ser compilado antes que outros o utilizem. Uma vez compilado, ele será executado mais rapidamente e não precisa de outro aplicativo para executá-lo. E isto impede que os usuários finais alterem o código.

História

Os primeiros computadores mainframe (nos anos 50) não eram interativos, mas usavam scripts armazenados em arquivos de lote. A linguagem de controle de trabalhos (JCL) da IBM é o exemplo comum de uma linguagem de scripting usada para controlar o processamento em lote.

As primeiras conchas interativas foram feitas nos anos 60 para ajudar na operação remota dos primeiros sistemas de time-sharing. Estes usavam scripts shell, que podem executar programas de computador dentro de um programa de computador, o shell. Calvin Mooers, em sua linguagem TRAC, geralmente recebe crédito por inventar a substituição de comandos. Isto permite que os comandos alterem o script (código auto-modificador). Multics chama estas funções ativas. Louis Pouzin escreveu um processador inicial para scripts de comando chamado RUNCOM para CTSS por volta de 1964. Stuart Madnick no MIT escreveu uma linguagem de script para o CP/CMS da IBM em 1966. Ele originalmente chamou este processador de COMANDO, mais tarde chamado EXEC. Multics incluía um offshoot de CTSS RUNCOM, também chamado de RUNCOM. EXEC foi eventualmente substituído por EXEC 2 e REXX.

Idiomas como Tcl e Lua foram feitos desde o início para serem linguagens de script de propósito geral que poderiam ser colocadas em qualquer aplicação. Outras linguagens como Visual Basic for Applications (VBA) poderiam fazer muito do mesmo, mas precisavam funcionar apenas com certas aplicações. O uso de uma linguagem de script de propósito geral em vez de fazer uma nova linguagem para cada aplicação geralmente facilita tanto para a pessoa que escreve a aplicação quanto para o usuário que escreve os scripts.

Tipos de linguagem de script

Idiomas da cola

O scripting é às vezes usado para conectar diferentes aplicações. Isto é chamado de código de cola, e uma linguagem feita apenas para este fim é uma linguagem de cola. Dutos e scripts de conchas são exemplos comuns de linguagem de cola. Mas se muita lógica é escrita em um arquivo de script, é melhor pensar nisso como simplesmente outra aplicação de software, e não como "cola".

Os idiomas da cola são especialmente úteis para a escrita e manutenção:

  • comandos personalizados para uma shell de comando;
  • programas menores do que aqueles que são melhor implementados em uma linguagem compilada;
  • programas "wrapper" que fazem algumas coisas automatizadas antes ou depois de executar uma aplicação como uma planilha eletrônica, base de dados, compilador, etc;
  • roteiros que podem mudar com freqüência;

Exemplos de linguagem da cola:

  • AppleScript
  • awk
  • JCL
  • Lua
  • m4
  • Perl
  • Scripts Unix Shell (ksh, csh, bash, sh e outros)
  • VBScript
  • Idioma do fluxo de trabalho
  • Windows PowerShell
  • XSLT

Dispositivos como calculadoras programáveis também podem ter suas próprias linguagens de cola. Por exemplo, a Texas Instruments TI-92, por padrão de fábrica, pode ser programada com uma linguagem de script de comando. A calculadora TI-NSpire compreende a linguagem Lua. Outros entendem algum tipo de linguagem básica, ou talvez Lisp ou outra coisa.

Idiomas e conchas de controle de trabalho

Este grupo veio da automação do controle de trabalhos, que se refere ao início e controle do comportamento dos programas do sistema, a partir do JCL da IBM. Muitos dos intérpretes destes idiomas também trabalham como intérpretes de linha de comando, como o Unix shell ou o MS-DOS COMMAND.COM. Outros, como o AppleScript oferecem o uso de comandos do tipo inglês para construir scripts.

Roteiro GUI

Ao construir interfaces gráficas de usuário, é necessária uma maneira de testá-la. Linguagens de scripting especializadas foram feitas para controlar janelas gráficas, menus, botões, etc., exatamente como um usuário humano faria. Muitas vezes, estes podem ser usados para copiar exatamente o que uma pessoa faz (mover um mouse, clicar ou digitar em um teclado). Esta ação ou conjunto de ações que é copiado e lembrado é chamado de macro.

Linguagens específicas de aplicação

Muitas das grandes aplicações incluem uma linguagem de script construída apenas para essa aplicação. A aplicação pode ser um jogo ou um programa de negócios. Este tipo de linguagem é feito para uma única aplicação. Eles fazem parecer uma linguagem de uso geral (por exemplo, QuakeC, modelado após C), eles têm características personalizadas que os distinguem.

Idiomas de extensão/embarque

Isto é como uma linguagem de scripting específica da aplicação, na medida em que ela controla uma aplicação, mas a linguagem pode ser usada em muitas aplicações.

O JavaScript começou como uma linguagem de script dentro de navegadores da web; mas agora é uma linguagem de uso geral incorporável. Ela também é usada em produtos Adobe, por exemplo.

Alguns idiomas mudam de um tipo para outro ao longo do tempo, geralmente à medida que acrescentam capacidade de fazer mais coisas.

Perguntas e Respostas

P: O que é uma linguagem de script?


R: Uma linguagem de script ou scripting é uma linguagem de programação que suporta scripts.

P: O que são scripts?


R: Os scripts são normalmente programas de computador curtos que executam passos que poderiam ser efectuados um de cada vez por uma pessoa.

P: Porque é que os scripts são úteis?


R: Automatiza um trabalho para o tornar mais fácil e fiável.

P: É difícil aprender uma linguagem de scripting?


R: Uma linguagem de scripting é frequentemente uma linguagem mais simples e mais fácil de aprender do que outras linguagens, mas pode fazer muitas coisas.

P: Onde é que os scripts podem ser executados?


R: Os scripts podem ser executados dentro de outro programa, como num browser da Web ou no Microsoft Excel.

P: O que é uma shell nas linguagens de scripting e como é utilizada?


R: Também podem ser uma shell que é executada a partir de uma interface de linha de comandos e faz chamadas para o sistema operativo (SO). A shell é considerada interactiva - o utilizador pode escolher o que escrever e a shell responde ao comando. Estas podem ser utilizadas para controlar tarefas em mainframes e servidores.

P: Uma linguagem de uso geral pode ser uma linguagem de script?


R: Algumas pessoas dizem que uma linguagem de scripting tem de estar ligada a uma utilização específica. Outros utilizam uma definição mais ampla e incluem linguagens de programação de uso geral que são interpretadas, não compiladas. Uso geral significa que pode ser usada de muitas maneiras para coisas diferentes. Algumas linguagens de uso geral (como Java) têm variações que podem ser programadas. Não existe uma regra específica sobre o que é, ou não é, uma linguagem de script.

AlegsaOnline.com - 2020 / 2023 - License CC3