Escolar Documentos
Profissional Documentos
Cultura Documentos
Entretanto, esse não é seu único campo de aplicação. Há também linguagens de script para
sistemas operacionais, software de análise estatística, aplicações de escritório, motores de
jogos e muitos outros tipos de plataformas.
Neste artigo, aprenda exatamente o que elas significam e conheça os melhores exemplos de
linguagens de script.
Foi o que aconteceu no caso do Node.js, um ambiente de tempo de execução backend que
foi criado para permitir que os desenvolvedores web usassem JavaScript não apenas no
frontend, mas também no backend, seguindo o paradigma do ‘JavaScript em todos os
lugares’.
É assim que as linguagens de scripting são diferentes das linguagens de programação como
Java que você pode “escrever uma vez, rodar em qualquer lugar” (slogan oficial do Java que
significa que os programas Java podem rodar como aplicações autônomas em qualquer
ambiente; uma vez que sendo cunhado, tornou-se também o princípio WORA que se refere
às capacidades multi-plataforma).
Plataforma-específica vs Plataforma-Agnóstica
Compilado” significa que uma linguagem de programação tem seu próprio compilador que
traduz a sintaxe em código de máquina antes do tempo de execução. Em contraste, as
linguagens de script são interpretadas linha por linha durante o tempo de execução pelo
intérprete da plataforma em que estão rodando.
Isto também aumenta o tempo total de execução das linguagens de script, mesmo que em
hardware moderno e mais rápido, este é um problema menor do que era antes.
As linguagens de programação são mais intensivas em código, pois você tem que fazer
muitas coisas manualmente que são tratadas pela plataforma no caso das linguagens de
scripting. Se você usa uma linguagem de scripting, você tem que escrever muito menos
código.
Há algumas coisas que você simplesmente não pode fazer com uma linguagem de roteiro.
Mais importante ainda, você não pode criar aplicações autônomas de mesa e móveis com
uma linguagem de script, pois não há um ambiente de tempo de execução que as interprete.
Por exemplo, você pode usar estruturas PHP como WordPress e Laravel somente para
websites e aplicações web porque eles usam o navegador web como seu ambiente de tempo
de execução. Da mesma forma, os aplicativos móveis WordPress são executados em
ambientes móveis de tempo de execução, como o Capacitor, que incorporam vistas da web.
O mais importante é que não faz muito sentido falar em linguagens frontend versus backend
scripting, mesmo que muitos artigos que você encontrará em toda a web utilizem este tipo de
agrupamento.
Não é o frontend vs backend que é importante no contexto das linguagens de scripting, mas
o(s) ambiente(s) de tempo de execução onde uma linguagem de scripting pode funcionar.
Note que ‘frontend’ significa apenas algo (imagem, fonte, marcação, folha de estilo, script,
outro tipo de arquivo estático) que um navegador da web pode interpretar. Por exemplo,
tente abrir um arquivo PHP diretamente do navegador da web: você não pode, porque um
servidor de aplicação PHP tem que interpretá-lo – assim o PHP é uma linguagem de script
backend no contexto do desenvolvimento web, enquanto a camada de aplicação de uma
pilha de servidores (por exemplo, LAMP) no contexto das linguagens de scripting.
Portanto, se você está pensando em aprender uma nova linguagem de roteiro como um novo
caminho profissional, todos eles valem a pena tentar.
1. JavaScript/ECMAScript
— JavaScript
Exemplo de código
console.log(total);
// 55
JavaScript é a linguagem de script utilizada pelos navegadores web modernos, como o motor
V8 da Chrome e o motor SpiderMonkey da Mozilla. Além disso, o desenvolvimento web
frontend, também pode ser usado em ambientes não navegáveis. O ambiente NodeJS
runtime foi criado para permitir aos desenvolvedores web usá-lo no backend.
2. PHP
— PHP
PHP é uma linguagem de script de código aberto de uso geral utilizada no desenvolvimento
web backend. A sigla originalmente significava ‘Personal Home Page’, já que o PHP foi
criado para adicionar funcionalidades dinâmicas às páginas HTML estáticas.
Desde então, o PHP evoluiu para uma linguagem autônoma, por isso agora o acrônimo é
usado no sentido de “Hypertext Preprocessor”. O PHP é digitado livremente (você não
precisa declarar os tipos de dados das variáveis), pode ser embutido em documentos HTML,
e tem características orientadas a objetos também.
Exemplo de código
O PHP tem uma sintaxe semelhante à do C. O exemplo de código PHP a seguir cria uma
matriz numérica com quatro elementos, faz loops através deles, multiplica cada item por dois,
e desativa a variável de $value quando o loop termina.
<?php
$arr = array(1, 2, 3, 4);
unset($value);
?>
O PHP pode ser executado em diferentes servidores HTTP, sendo o Apache e o Nginx os
mais populares.
As pilhas de servidores PHP mais comuns são LAMP (Linux, Apache, MySQL, PHP), LEMP
(Linux, Nginx, MySQL, PHP – usado por Kinsta), e WAMP (Windows, Apache, MySQL, PHP),
e MAMP (macOS, Apache, MySQL, PHP).
Também é usado por muitos sistemas de gerenciamento de conteúdo popular (CMS) como
WordPress, Drupal e Joomla, e frameworks de aplicações web como Laravel, Symfony e
CodeIgniter, que são todos construídos em cima da linguagem PHP e a aperfeiçoam com
funcionalidades extras.
Você também pode usar PHP para o desenvolvimento local do WordPress.
3. Python
— Python
Python é um projeto livre e de código aberto, gerenciado pela Python Software Foundation.
Ele suporta os paradigmas de programação estruturada, orientada a objetos e funcional, e
tem uma extensa biblioteca padrão que é uma coleção de módulos Python comumente
usados.
Exemplo de código
Python não usa colchetes e os ponto-e-vírgula são opcionais, portanto o código é fácil de ler
e escrever. O seguinte exemplo de código Python passa por números inteiros entre 0 e 4, e
os imprime:
count = 0
while count < 5:
print(count)
count += 1
Além do CPython, Python também tem outros ambientes de tempo de execução, o mais
importante, PyPy que omite a etapa de compilação e só faz a interpretação JIT (just-in-time).
As implementações Python são multi-plataforma, ou seja, rodam em múltiplos sistemas
operacionais, incluindo Linux, Windows e macOS.
— Ruby
O Ruby é uma linguagem de script de código aberto, de uso geral, com uma sintaxe
compacta e de fácil leitura. Ela segue os princípios da programação orientada a objetos e
permite que você escreva código limpo e lógico. Em Ruby, tudo é um objeto – mesmo tipos
que são primitivos na maioria das linguagens, tais como booleans e inteiros.
Conceitos orientados a objetos como herança, mixins e metaclasses também são muito
utilizados.
O Ruby tem uma sintaxe concisa semelhante à do Python. O exemplo de código Ruby a
seguir define a classe KaraokeSong como uma subclasse da classe Song:
A implementação padrão do Ruby é YARV (Mais uma máquina virtual Ruby). Ela mudou o
Intérprete Ruby original do Ruby Matz (também Ruby MRI ou CRuby) que havia sido
criticado por problemas com velocidade e escalabilidade.
Há também vários ambientes concorrentes para Ruby, tais como JRuby (permite executar
Ruby na máquina virtual Java), mruby (uma implementação leve que você pode incorporar
dentro de sua aplicação), TruffleRuby (interpretador Ruby da Oracle construído sobre
GraalVM), Rubinius (uma máquina virtual nebulosa para Ruby), e outros.
5. Groovy
— Groovy
Groovy é uma incrível linguagem flexível escrita para a Máquina Virtual Java (JVM) que pode
ser usada tanto como uma linguagem de script quanto de programação. É um projeto de
código aberto mantido pela Apache Software Foundation. Groovy é uma linguagem orientada
a objetos que estende a superclasse java.lang.Object
Ele suporta tanto a digitação estática quanto dinâmica (a verificação de tipo pode ser
realizada tanto em tempo de compilação quanto em tempo de execução) e tem suporte
nativo para listas, arrays associativos, expressões regulares e linguagens de marcação,
como HTML e XML.
Exemplo de código
Groovy tem uma sintaxe compatível com Java, usando colchetes encaracolados. O seguinte
exemplo de código Groovy define a classe Coordinates com as propriedades de latitude e
longitude e o método getAt():
@Immutable
class Coordinates {
double latitude
double longitude
Como o Groovy se compila em código byte Java, você pode usá-lo como uma linguagem de
programação de propósito geral semelhante ao Java. Neste caso, você pode compilar o
código fonte em código byte antes do tempo de execução usando o compilador groovyc (o
equivalente ao javac).
No entanto, também há muitas implementações Groovy que permitem usá-lo como uma
linguagem de script. As mais populares são a estrutura de aplicação web Grails
(anteriormente conhecida como Groovy on Grails) e a ferramenta de automação Gradle build,
mas há várias outras também.
6. Perl
— Perl
Perl é uma linguagem de roteiro de propósito geral que existe há mais de trinta anos (desde
1987). Originalmente, ele foi criado como uma linguagem de script UNIX para o
processamento de relatórios. É também daí que vem seu nome, como a sigla Perl que
significa “Practical Extraction and Reporting Language”.
A linguagem Perl tornou-se popular nos anos 90, quando os programadores começaram a
usá-la amplamente para o script CGI (Common Gateway Interface), que é uma especificação
de interface mais antiga para servidores web (atualmente, ela é usada principalmente por
sites legados).
Apesar de ser um jogador relativamente precoce, Perl ainda é o 11º no índice TIOBE e o 21º
idioma mais popular no GitHub (a partir de outubro de 2020).
Exemplo de código
sub square {
my $num = shift;
my $result = $num * $num;
return $result;
}
$sq = square(8);
Embora hoje em dia não seja a escolha mais freqüente dos desenvolvedores web, o Perl
pode ser usado com sucesso no desenvolvimento de backend. Além do ambiente de
execução CGI, ele também executa nos servidores web Apache e Nginx – a pilha LAMPP é
na verdade LAMPP, que significa Linux, Apache, MySQL, PHP e Perl.
O Perl é utilizado por vários sites e aplicações notáveis como Amazon, IMDB, Booking.com e
o BBC iPlayer. É utilizado também em outras áreas, como programação de rede e
administração de sistemas. Você também pode conferir a Comprehensive Perl Archive
Network (CPAN), onde mais de 25.000 projetos Perl open-source estão disponíveis para
download.
7. Lua
— Lua
Lua é uma linguagem de escrita rápida e leve. A palavra ‘lua’ significa ‘lua’ em português,
pois a língua é desenvolvida e mantida pela Pontifícia Universidade Católica do Rio de
Janeiro no Brasil. Lua apóia os paradigmas procedimentais, orientados a objetos e de
programação funcional.
Como o intérprete da Lua é escrito em C, ele pode ser facilmente incorporado em aplicações
usando sua API C. Dito isto, você pode usar Lua para estender aplicações existentes escritas
em linguagens baseadas em C, como C++, C#, Java, Perl, Ruby, e outras.
Exemplo de código
Lua tem uma sintaxe concisa e fácil de ler, semelhante a Python e Ruby. O exemplo de
código Lua a seguir mostra como usar a declaração if-then-else. Primeiro, ele avalia a
variável op, depois realiza operações aritméticas básicas dependendo do seu valor:
if op == "+" then
r = a + b
elseif op == "-" then
r = a - b
elseif op == "*" then
r = a * b
elseif op == "/" then
r = a / b
else
error("invalid operation")
end
A implementação padrão do Lua não interpreta o código fonte diretamente, mas primeiro o
compila em código byte que depois executa na máquina virtual Lua. Como tudo isso
acontece em tempo de execução, não há nenhuma etapa de compilação manual que você
precise executar (mesmo que você possa optar pela compilação do Lua antes do tempo de
execução para melhorar a performance).
Existem também outras implementações Lua, como LuaJIT, LuaVela, e muitas outras.
Lua é freqüentemente usada para desenvolver jogos de vídeo, como Angry Birds, World of
Warcraft, e Grim Fandango. Como é fácil de incorporar, é também uma escolha freqüente
para dispositivos incorporados, tais como set-top boxes, painéis de instrumentos de carros
(por exemplo, Volvo), câmeras IP (por exemplo, Cisco) e outros.
Ele também pode ser usado no desenvolvimento web, pois tanto os servidores Apache
quanto os Nginx possuem um módulo Lua (aqui está o mod_lua do Apache, e aqui está o
ngx_http_lua_module do Nginx). A Wikipedia escolheu Lua como sua linguagem de scripting
modelo, e a UI do Adobe Photoshop Lightroom também é escrita em Lua.
8. Bash
É uma substituição do shell Bourne original do UNIX (sh) – o acrônimo Bash significa
“Bourne Again SHell” (um trocadilho com “born again shell”).
Além de ser o superconjunto da sintaxe da concha Bourne, Bash também inclui recursos de
outras linguagens de script como KornShell (ksh) e C shell (csh) – por exemplo, edição de
linha de comando e histórico de comandos. Você pode usar o Bash em modo interativo
(executando um comando de cada vez e aguardando a resposta da máquina) e em modo de
script (executando um conjunto de comandos – um script Bash – de uma só vez).
Exemplo de código
Como a maioria das linguagens de script da CLI, Bash tem uma sintaxe simples e descritiva.
O seguinte exemplo de código Bash seleciona um arquivo da pasta atual e emite uma
mensagem contendo o nome e o índice do arquivo:
select fname in *;
do
echo you picked $fname \($REPLY\)
break;
done
Você pode usar o Bash para fazer mudanças e executar diferentes ações relacionadas ao
seu sistema operacional, tais como executar comandos, executar tarefas que a maioria das
pessoas faria usando uma interface gráfica de usuário (por exemplo, criar, mover ou excluir
pastas e arquivos), personalizare automatizar tarefas administrativas, conectar-sea um
servidor remoto e muitas outras.
Bash é o shell padrão para muitos sistemas operacionais baseados em Unix, incluindo a
maioria das distros Linux e todos os lançamentos MacOS até MacOS Catalina que substituiu
Bash por Z shell (Zsh) em 2019. Você também pode executar scripts Bash no Windows 10,
usando a camada de compatibilidade do subsistema Windows para Linux (WSL)
desenvolvida pela Microsoft.
9. PowerShell
Originalmente, PowerShell era um shell de linha de comando e linguagem de script somente
para o sistema operacional Windows. Desde então, a Microsoft abriu o código fonte e o
transferiu do .NET Framework, que pode criar somente aplicações Windows, para .NET Core
, que pode criar aplicações para Windows, Linux e macOS. Isto significa que o PowerShell
agora é multiplataforma.
Exemplo de código
PowerShell tem uma sintaxe compacta que torna o trabalho na linha de comando mais
rápido. O exemplo de código PowerShell abaixo cria um backup do arquivo boot.ini e o salva
no arquivo boot.bak:
Você pode usar o PowerShell no Windows, Linux, sistemas operacionais MacOS e alguns
dispositivos ARM (por exemplo, wearables, players multimídia, tablets e outros dispositivos
eletrônicos de consumo).
10. R
R é um ambiente de software e linguagem de script que você pode usar para computação
estatística, análise de dados e exibição gráfica. É um projeto GNU livre e de código aberto e
uma implementação da linguagem de computação estatística S (não mais em
desenvolvimento ativo).
R permite o uso de muitas técnicas estatísticas diferentes, tais como testes estatísticos
clássicos, agrupamento, análise de séries temporais, modelagem linear e não linear, e
outras.
Exemplo de código
> fruit <- c(5, 10, 1, 20) > names(fruit) <- c("orange", "banana", "apple"
Fonte: An Introduction to R: Index vectors; selecting and modifying subsets of a data set
Além do ambiente padrão R, você pode usar a linguagem R scripting também em outros
ambientes, como pqR (significa “uma versão bastante rápida de R”) e Renjin (uma
implementação R em cima da Máquina Virtual Java).
11. VBA
VBA significa Visual Basic for Applications e é uma implementação da linguagem de
programação Visual Basic 6 (não em desenvolvimento ativo desde 2008). Foi criada para
aplicações Microsoft Office para permitir aos desenvolvedores automatizar tarefas repetitivas,
adicionar novas funcionalidades e interagir com os usuários finais de documentos.
Similar ao Visual Basic, a VBA segue o paradigma de programação orientada por eventos
que coloca eventos como as ações do usuário no centro que impulsionam o fluxo do
programa.
Como os aplicativos Microsoft Office têm uma interface gráfica de usuário, você pode anexar
scripts VBA a botões de menu, atalhos de teclado, macros (padrões programáveis) e eventos
OLE (Object Linking and Embedding que permite controlar um aplicativo de outro; é uma
tecnologia proprietária da Microsoft).
Exemplo de código
Como o VBA se baseia no Visual Basic (que é uma ampliação do BASIC), ele usa uma
sintaxe semelhante às linguagens da família BASIC (Código de Instrução Simbólica para
Iniciantes) – o que significa que ele é muito amigável para iniciantes.
Sub GetCertDetails()
Dim objSignatureInfo As SignatureInfo
Dim varDetail As Variant
strDetail = objSignatureInfo.GetCertificateDetail(certdetExpirationDate)
End Sub
A linguagem de script VBA está embutida na maioria dos aplicativos Microsoft Office,
respectivamente Access, Excel, Office for Mac, Outlook, PowerPoint, Project, Publisher, Visio
e Word – cada um com um guia de referência separado no site de documentação da
Microsoft enquanto os conceitos gerais de VBA são detalhados na referência da biblioteca.
Além das aplicações Microsoft Office, existem outras aplicações que também suportam VBA,
tais como AutoCAD e CorelDRAW.
Emacs Lisp é uma linguagem de script específica do domínio projetada para o editor de texto
GNU Emacs. É um dialeto da família de linguagens de programação Lisp (o nome vem de
LISt Processor).
Como o Emacs Lisp foi projetado para ser usado dentro de um editor de código, ele vem com
um conjunto de recursos específicos para aquele ambiente, tais como digitalização e análise
de texto, buffer (objetos com texto editável) e gerenciamento de exibição, e outros.
A linguagem de script Emacs Lisp está intimamente integrada com a própria interface do
editor, portanto cada comando é também uma função Lisp que você pode chamar a partir do
seu script, e os parâmetros de personalização são variáveis Lisp também.
Exemplo de código
A sintaxe do Emacs Lisp é baseada em uma notação de prefixo totalmente parênteses que
pode ser um pouco difícil de ler no início se você não trabalhou com nenhuma linguagem
Lisp antes.
O seguinte exemplo de código Emacs Lisp define duas variáveis (símbolos) e atribui uma
lista de valores para cada uma – uma lista de árvores (pine, fir, oak, maple) to the
symbol trees para as árvores símbolo e uma lista de herbívoros (gazelle, antelope,
zebra) para o símbolo herbívoros:
O editor de texto Emacs é uma aplicação multiplataforma que você pode instalar em
máquinas Windows, Linux e MacOS.
Usando a linguagem de script Emacs Lisp, você pode estender e personalizar o editor de
código, repetir e automatizar processos, criar gráficos, restringir o foco a áreas específicas (
para security), pesquisar expressões regulares, armazenar texto, definir modos e keymaps,
fazer perguntas dos usuários e realizar muitas outras ações.
Embora o GML seja usado principalmente para controlar objetos de jogo, não é uma
linguagem orientada a objetos, mas uma linguagem processual. Ele permite chamar scripts
personalizados de qualquer objeto de jogo.
Além da linguagem de script GML, o GameMaker Studio 2 também possui uma ferramenta
de script visual chamada Drag and Drop (DnD). Devido à natureza flexível do GameMaker
Studio 2, você pode misturar DnD com seus scripts GML, também.
Exemplo de código
if mp_linear_step(mouse_x, mouse_y, 5, 0) {
instance_create_layer(x, y, "Effects", obj_Explosion);
instance_destroy();
}
Fonte: GameMaker Studio 2 Docs – Scripting – GML Reference – Movement and Collisions –
Motion Planning
O GML é interpretado pelo GameMaker Studio 2 que você precisa adquirir se quiser
desenvolver jogos nesta linguagem de scripting.
O preço depende da plataforma para a qual você deseja criar jogos – sendo os jogos Mac e
Windows os mais baratos; jogos cross-platform (Windows, MacOS, Ubuntu) desktop, jogos
HTML5 web, jogos UWP (Plataforma Universal Windows), e jogos cross-platform (Android,
Fire, iOS) para celular, sendo os mais caros os jogos PS4, Xbox One e Nintendo Switch.
Alguns exemplos de videogames criados com GML incluem Blackhole, 10 Second Ninja X,
Death’s Gambit, Deltarune, e vários outros.
Resumo
Não há dúvida de que as linguagens de script são fascinantes. Elas têm muitas variações,
sintaxes e implementações diferentes, e podem ser usadas para muitas coisas.
Da construção de sites dinâmicos, à automatização da administração do sistema, à criação
de videogames, e assim por diante.
As três coisas mais importantes a serem lembradas sobre as linguagens de script são:
Eles não podem correr por conta própria, mas sempre precisam de um ambiente
(implementação, tempo de execução) com um intérprete para aquela linguagem de scripting.
Às vezes é possível usar linguagens de script de uso geral para acessar ambientes e
plataformas criadas principalmente para outras linguagens de programação ou de script.
Pense em JRuby (permite executar Ruby na máquina virtual Java), Renjin (implementação R
também na JVM), Rpy2 (interface R que você pode usar a partir de Python), como bons
exemplos.
Finalmente, antes de aprender uma nova linguagem de script, é sempre uma boa idéia
verificar sua popularidade atual usando o índice TIOBE ou GitHut.