Você está na página 1de 31

As 13 Principais Linguagens de

Script Que Você Deve Prestar


Atenção

Downloaded on: 13 January 2024


Ship and manage your
web projects faster
Deploy your projects on Google Cloud Platform's top tier
infrastructure. You'll get 25+ data centers to choose
from, 24/7/365 expert support, and advanced security
with DDoS protection.

Try for free

As linguagens de script tornam a codificação mais simples e rápida, portanto, não é


surpreendente que sejam amplamente utilizadas no desenvolvimento web.

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.

As linguagens de scripting podem realizar diferentes ações dentro de um determinado


ambiente de tempo de execução, tais como automatizar a execução de tarefas, melhorar a
funcionalidade do software pai, realizar configurações, extrair dados de conjuntos de dados,
e outros.

As linguagens de scripting podem surgir de duas maneiras:

1. Um ambiente de tempo de execução pode introduzir sua própria linguagem de script,


como Bash para o sistema operacional GNU ou VBA para aplicações Microsoft Office.
2. Um ambiente de tempo de execução pode adotar uma linguagem de script existente,
por exemplo, a casca de mongo do MongoDB foi construída em torno do JavaScript.
Por outro lado, às vezes é a linguagem de script que existe primeiro e dá origem a sua
própria plataforma de pais – por mais estranho que isso possa parecer.

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’.

O que significa Scripting na Programação?

A ação do scripting é essencialmente escrever uma série de comandos que são


interpretados um a um por uma aplicação ou motor de scripting. Embora o script oriente a
plataforma através do que fazer (dá-lhe um script para ler e interpretar), a execução é
realizada pelo ambiente de tempo de execução e não pela linguagem de script em si.

É 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).

Linguagens de Scripting vs Linguagens de Programação


Embora os termos “linguagem de script” e “linguagem de programação” sejam
freqüentemente utilizados de forma intercambiável, eles não são a mesma coisa.

Plataforma-específica vs Plataforma-Agnóstica

As linguagens de scripting são específicas da plataforma, enquanto as linguagens de


programação são agnósticas à plataforma (multi-plataforma), pois têm a capacidade de
executar elas mesmas. Por exemplo, você pode executar um programa Java em qualquer
sistema operacional.
(Na maioria das vezes) Interpretado vs Compilado

Enquanto as linguagens de programação são compiladas, as linguagens de script são em


sua maioria interpretadas – embora existam algumas linguagens de script que são tanto
compiladas como interpretadas, como Python e Groovy.

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.

Mais rápido vs. mais lento em tempo de execução

Devido a esta diferença na implementação, as linguagens de programação funcionam mais


rapidamente que as linguagens de script, pois não precisam ser compiladas em tempo real.
Os compiladores também realizam o tratamento coletivo de erros antes da execução,
enquanto os intérpretes avaliam o código linha por linha, de modo que eles fazem uma pausa
(ou param completamente) toda vez que encontram um erro.

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.

Mais vs Menos Intensivo de Código

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.

Aplicações autônomas vs Aplicações como parte de uma pilha

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.

Scripting vs Linguagens de Programação – Visão Geral das Diferenças

Portanto, as principais diferenças entre as linguagens de scripting vs programação são as


seguintes:

Linguagem de scripting Linguagem de programação


Plataforma específica Plataformaagnóstica (cross-platform)
(Na maioria das vezes) interpretada Compilado
Mais lento no tempo de execução Mais rápido em tempo de execução
Menos intensivo em código Mais intensivo em código
Cria aplicações como parte de uma pilha Cria aplicações como parte de uma pilha

Confusões sobre as linguagens de scripting


Há algumas confusões sobre as linguagens de roteiro que você encontrará com freqüência,
então vamos dar uma olhada nelas antes de entrar nas melhores linguagens de roteiro.

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.

Na verdade, há apenas uma linguagem de frontend de script atualmente em uso, que é o


JavaScript (antes existiam outras, como ActionScript e JScript, mas agora todas estão
obsoletas).

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.

Além do desenvolvimento web (frontend e backend scripting), as linguagens de scripting


também podem ser usadas para múltiplas coisas como programação e configuração de
sistemas operacionais e aplicações/ambientes específicos, manipulação de conjuntos de
dados, automatização de tarefas e muitas outras.

Uma linguagem de script também pode ser executada em múltiplos ambientes.

O que não são Linguagens de script?

Antes de entrar nas melhores linguagens de script, vamos ver as linguagens de


codificação que às vezes são falsamente chamadas de linguagens de script, mas você
não pode escrever com elas:

Linguagens de marcação, tais como HTML e XML. Em HTML, há atributos para o


tratamento de eventos como onclick e onmouseover, mas estes ainda são callbacks em
JavaScript.
Idiomas das folhas de estilo, tais como CSS, Sass e LESS.
Qualquer tipo de biblioteca ou estrutura construída sobre qualquer linguagem de script,
tais como jQuery, PostCSS, React, Vue, Angular, Rails, Grails, Django, Laravel,
WordPress, e outros.
Linguagens que são compiladas em uma linguagem de script, tais como TypeScript e
CoffeeScript.
SQL como é para gerenciar dados em sistemas de gerenciamento de banco de dados
relacionais (RDBMS) tais como MySQL e MariaDB. Eles não permitem que você
escreva funcionalidades dinâmicas. Entretanto, muitos RDBMSs têm shells que
permitem o uso de uma linguagem de script (por exemplo, JavaScript ou Python na do
MySQL Shell).
Ambientes de tempo de execução para uma ou mais linguagens de script, como o
NodeJS.
Quais são as 13 Melhores linguagens de script?
Há muitas grandes linguagens de script que mereceriam uma menção neste guia, mas que
não estão mais em desenvolvimento ativo. Entretanto, as 13 linguagens de scripting a seguir
são regularmente atualizadas e também estão sendo utilizadas na produção.

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

JavaScript é uma implementação da norma ECMA-262 que define a linguagem de script de


propósito geral ECMAScript (ES). Em outras palavras, o JavaScript é um dialeto da
linguagem ECMAScript, portanto não tem uma especificação autônoma, mas usa a mesma
sintaxe do ECMAScript.
O JavaScript tem funções de primeira classe (as funções são tratadas como variáveis) e
suporta programação orientada a objetos baseada em protótipos (os objetos existentes são
reutilizados como protótipos).

Exemplo de código

ECMAScript utiliza uma sintaxe de parênteses curvos. O seguinte exemplo de código


JavaScript adiciona números de 1 a 10 juntos e produz o resultado no console (você pode
testá-lo no console JavaScript do seu navegador da web, pressionando F12):

let total = 0, count = 1;

while (count <= 10) {


total += count;
count += 1;
}

console.log(total);
// 55

Fonte: Eloquent JavaScript by Marijn Haverbeke: Introduction

Estojos e Ambientes de Uso

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.

Os shells de alguns sistemas de gerenciamento de banco de dados NoSQL, tais como


MongoDB e Apache CouchDB, e alguns sistemas de gerenciamento de banco de dados
relacionais, tais como o já mencionado MySQL Shell, também o utilizam como uma
linguagem de scripting.

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);

foreach ($arr as &$value) {


$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)

unset($value);
?>

Fonte: PHP documentation: Control Structures

Casos de uso e Ambientes

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 é atualmente a segunda linguagem de codificação mais popular no GitHub (depois do


JavaScript). É adorada por sua sintaxe clara e concisa – ao codificar em Python, você tem
que digitar muito menos do que na maioria das línguagens.

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

Fonte: Learn Python: Loops

Casos de uso e Ambientes

A implementação mais popular da Python é o CPython, escrito na linguagem C. É também a


implementação de referência que você baixa junto com a linguagem Python. Embora Python
seja uma linguagem interpretada, CPython utiliza tanto uma etapa de compilação quanto de
interpretação. Primeiro, ele compila o código fonte em bytecode (não é o mesmo que código
de máquina) que ele interpreta em tempo de execução.

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.

A linguagem Python é freqüentemente usada no aprendizado de máquinas, desenvolvimento


web backend (sendo Django a estrutura web mais popular), análise de dados, automação,
computação científica e raspagem da web.
4. Ruby

— 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.

Embora Ruby tenha um projeto puramente orientado ao objeto, também suporta


programação processual (funções e variáveis definidas fora das classes pertencem ao objeto
Self) e programação funcional (através de funções anônimas, fechamentos e
continuações).
Exemplo de código

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:

class KaraokeSong < Song


def initialize(name, artist, duration, lyrics)
super(name, artist, duration)
@lyrics = lyrics
end
end

Fonte: Programming Ruby reference guide: Classes, Objects, and Variables

Casos de uso e Ambientes

O Ruby é usado principalmente no desenvolvimento web backend, alimentando alguns


frameworks robustos de aplicações web, como o Ruby on Rails. Muitos sites e aplicações
populares rodam em Ruby on Rails, tais como Airbnb, Shopify, GitHub, e Hulu.

Ruby é também a linguagem na qual muitas ferramentas populares de desenvolvimento web


estão escritas, mais notadamente o pré-processador Sass CSS, o gerador de sites estáticos
Jekyll e o ambiente de máquinas virtuais Vagrant.

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.

Você pode usar Groovy junto com as bibliotecas Java existentes.

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

double getAt(int idx) {


if (idx == 0) latitude
else if (idx == 1) longitude
else throw new Exception("Wrong coordinate index, use 0 or 1")
}
}

Fonte: Groovy Documentation: Semantics

Casos de uso e Ambientes

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

A sintaxe do Perl é similar à da linguagem C. O exemplo de código Perl abaixo define


primeiro o square() sub-rotina que calcula e retorna o quadrado de um número, depois
passa o valor 8 como argumento, executa a sub-rotina, e salva o resultado na variável $sq:

sub square {
my $num = shift;
my $result = $num * $num;
return $result;
}

$sq = square(8);

Fonte: Perl docs: Perl Intro

Casos de uso e Ambientes

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.

Também existem algumas estruturas de desenvolvimento web Perl, sendo Catalyst,


Mojolicious, e Dancer as mais populares.

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

Fonte: Programming in Lua reference guide: Statements

Casos de uso e Ambientes

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

Bash é o nome de um intérprete de linha de comando (shell) para o sistema operacional


GNU e a linguagem de scripting pertencente. Linux’ é, de fato, o sistema operacional GNU
usando o kernel Linux (um kernel é a parte central do SO, é o primeiro programa que o
sistema operacional carrega).

É 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

Fonte: Bash Reference Manual: Conditional Constructs

Casos de uso e Ambientes

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.

Também foi renomeado de Windows PowerShell para PowerShell Core, correspondendo à


estrutura subjacente. Ao contrário da maioria dos shells de linha de comando, PowerShell
aceita e devolve objetos .NET em vez de texto simples, o que dá lugar a novas
oportunidades na automação de tarefas.

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:

Copy-Item -Path C:\boot.ini -Destination C:\boot.bak

Fonte: PowerShell Documentation: Working with Files and Folders

Casos de uso e Ambientes

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).

Você pode usar o PowerShell para administração do sistema, automação de tarefas e


gerenciamento de configuração. Para encontrar módulos e scripts PowerShell, você pode
conferir a Galeria PowerShell e a coleção oficial de exemplos de scripts da Microsoft
também.

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

A sintaxe do R é diferente da maioria das linguagens de script e tem alguns elementos


incomuns, também – por exemplo, o operador principal da tarefa é <- em vez do sinal = igual
e tem loops sem loopless – veja mais sobre as peculiaridades da sintaxe do R neste guia
para iniciantes do R por Sharon Machlis.
O seguinte exemplo de código R define um atributo de names para o vetor da fruit
(estrutura básica de dados em R que contém elementos do mesmo tipo) que usa nomes
alfanuméricos (orange, banana, apple, peach) para ajudar a identificar seus
componentes. Posteriormente, o subvetor do lunch (ou outro) pode acessar cada
componente usando seu nome falso:

> 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

Casos de uso e Ambientes

O ambiente do software R é multiplataforma; você pode executá-lo em sistemas operacionais


Windows, Linux e MacOS. A implementação padrão do R também está disponível em
algumas outras linguagens de scripting, como Python e Perl. Isto significa que você pode
acessar toda a funcionalidade estatística do R usando estas linguagens de scripting.

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.

O exemplo de código VBA abaixo usa o método GetCertificateDetail() do objeto


SignatureInfo para obter a data de expiração de um certificado digital:

Sub GetCertDetails()
Dim objSignatureInfo As SignatureInfo
Dim varDetail As Variant

strDetail = objSignatureInfo.GetCertificateDetail(certdetExpirationDate)

End Sub

Fonte: Office VBA Reference: SignatureInfo object


Casos de uso e Ambientes

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.

12. Emacs Lisp

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:

(setq trees '(pine fir oak maple)


herbivores '(gazelle antelope zebra))

Fonte: An Introduction to Programming in Emacs Lisp: Setting the Value of a Variable

Casos de uso e Ambientes

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.

Há também algumas estruturas de configuração para o Emacs Lisp – Doom Emacs e


Spacemacs sendo as mais conhecidas.
13. GML

O acrônimo GML significa GameMaker Language. É um bom exemplo de uma linguagem de


scripting específica de um domínio utilizado no desenvolvimento de jogos. GML é uma
linguagem de script proprietária pertencente ao GameMaker Studio 2, um mecanismo de
jogos de plataforma cruzada e plataforma de desenvolvimento pertencente e mantido pela
YoYo Games.

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

A sintaxe do GML é similar à do JavaScript e de outras linguagens semelhantes ao C.

O seguinte exemplo de código GML faz um objeto de jogo se mover horizontalmente em


direção ao ponteiro do mouse na tela a uma velocidade de 5 pixels por passo. Uma vez que
ele atinge a posição atual do ponteiro, o script cria uma camada de efeito de explosão,
executa-a (há um efeito de explosão na tela), depois destrói a instância (o efeito de explosão
é removido):

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

Casos de uso e Ambientes

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.

Dependendo disso, você também encontrará mais ou menos exemplos de scripts,


repositórios GitHub, bibliotecas de módulos, guias de referência, manuais detalhados e
vitrines de aplicativos que o ajudarão a começar com a linguagem… e obter projetos e
empregos melhor remunerados!

Você também pode gostar