tds-lp
Principais Linguagens de Programação
Características, primeiros programas e preparação do ambiente
Material introdutório para alunos do Ensino Médio/Técnico. O objetivo é comparar linguagens diferentes usando sempre o mesmo raciocínio: Entrada → Processamento → Saída.
Observação: as IDEs e editores apresentados são recomendações didáticas. Uma linguagem pode ser utilizada em diferentes ambientes de desenvolvimento.
Índice
Clique em um item para ir direto ao conteúdo. Para comparar as linguagens rapidamente, use a tabela de acesso rápido logo abaixo ou a Comparação rápida no final.
Sumário
- 1. Conceitos iniciais
- 2. Visão geral das linguagens
- C
- Python
- C++
- JavaScript
- Java
- C#
- TypeScript
- Ruby
- Kotlin
- Go
- PHP
- Lua
- Swift
- Comparação rápida
Acesso rápido por linguagem
Índice por assunto
- Ano de criação / criadores — Tabela geral · Linha do tempo
- Bytecode e máquina virtual (JVM/.NET) — Java · Kotlin · C#
- Comandos de entrada e saída de cada linguagem — Comparação rápida
- Compilador — Conceito
- Conversão de texto para número na entrada — Python · JavaScript · C# · Ruby · Kotlin · Lua · Swift
- Executar no navegador — JavaScript · TypeScript
- Extensão dos arquivos (.c, .py, .java…) — Comparação rápida
- IDE / editor — Conceito
- Interpretador / runtime / VM — Conceito
- JetBrains (IntelliJ, PyCharm, RubyMine, GoLand) — Python · Java · Kotlin · Ruby · Go
- Linguagens compiladas — C · C++ · Go · Swift
- Linguagens interpretadas / VM — Python · JavaScript · Ruby · PHP · Lua
- Tipagem estática e dinâmica — Conceito · Tabela geral
- Transpilação — TypeScript
- Variável de ambiente PATH — C · Python · PHP · Lua
- Visual Studio — C++ · C#
- VS Code — C · JavaScript · TypeScript · PHP · Lua
- Xcode (macOS) — Swift
1. Conceitos iniciais
Linguagem, IDE e compilador/interpretador
- Linguagem de programação: conjunto de regras e recursos utilizados para expressar algoritmos e construir programas.
- IDE/editor: ferramenta usada para escrever, organizar, executar e depurar o código. Exemplos: VS Code, Visual Studio, IntelliJ IDEA e PyCharm.
- Compilador: traduz o código-fonte para outra representação, normalmente antes da execução. Exemplos: GCC e compiladores C++/Go/Swift.
- Interpretador/runtime/VM: executa ou gerencia a execução do programa. Exemplos: Python, JVM, .NET e motores JavaScript.
Tipagem
Na tipagem estática, os tipos são verificados principalmente antes da execução. C, C++, Java, C#, Kotlin, Go e Swift são exemplos. Na tipagem dinâmica, os tipos estão associados aos valores e muitas verificações acontecem durante a execução. Python, JavaScript, Ruby, PHP e Lua são exemplos. TypeScript acrescenta ao JavaScript uma tipagem estática gradual.
Entrada → Processamento → Saída
A estrutura lógica utilizada nos exemplos será sempre a mesma:
ENTRADA → receber numero1 e numero2
↓
PROCESSAMENTO → resultado = numero1 + numero2
↓
SAÍDA → apresentar resultado
2. Visão geral das linguagens
| Linguagem | Ano | Criador / origem | Tipagem | Execução | IDE indicada | Particularidade / uso |
|---|---|---|---|---|---|---|
| C | 1972 | Dennis Ritchie, nos Bell Labs | Estática | Compilada | VS Code + GCC | Linguagem eficiente, próxima dos recursos da máquina e com acesso explícito à memória. Influenciou muitas linguagens posteriores. Sistemas operacionais, embarcados, drivers e ensino. |
| Python | 1991 | Guido van Rossum | Dinâmica | Interpretada/bytecode em VM | PyCharm | Sintaxe simples e legível, grande ecossistema de bibliotecas e alta produtividade. IA, ciência de dados, automação, web e ensino. |
| C++ | 1985 | Bjarne Stroustrup, nos Bell Labs | Estática | Compilada | Visual Studio | Combina alto desempenho com múltiplos paradigmas, incluindo programação procedural, orientada a objetos e genérica. Jogos, sistemas, computação gráfica e aplicações de alto desempenho. |
| JavaScript | 1995 | Brendan Eich, na Netscape | Dinâmica; permite coerções implícitas | Interpretada/JIT pelos motores JavaScript | VS Code | É a linguagem de programação nativa dos navegadores e também pode ser executada fora deles, por exemplo com Node.js. Front-end web, back-end, aplicações web e automação. |
| Java | 1995 | James Gosling e equipe, na Sun Microsystems | Estática | Compilada para bytecode e executada pela JVM | IntelliJ IDEA | O bytecode permite executar aplicações em diferentes sistemas que possuam uma JVM compatível. Sistemas corporativos, back-end, serviços e ecossistema JVM. |
| C# | 2000 | Microsoft, com Anders Hejlsberg como principal projetista original | Estática | Compilada para IL e executada pelo .NET; pode usar JIT ou AOT | Visual Studio | É uma das principais linguagens da plataforma .NET e possui forte suporte a orientação a objetos e programação assíncrona. Web, desktop, sistemas corporativos, serviços e jogos com Unity. |
| TypeScript | 2012 | Microsoft, liderada originalmente por Anders Hejlsberg | Estática gradual e estrutural | Transpilada para JavaScript | VS Code | Adiciona um sistema de tipos sobre JavaScript e gera JavaScript como resultado da transpilação. Aplicações web de médio e grande porte, front-end e back-end. |
| Ruby | 1995 | Yukihiro “Matz” Matsumoto | Dinâmica | Interpretada/VM, com JIT disponível em implementações modernas | RubyMine | Valoriza legibilidade, expressividade e produtividade do programador. Desenvolvimento web, scripts, automação e aplicações com Ruby on Rails. |
| Kotlin | 2011 | JetBrains | Estática | Comumente compilada para bytecode JVM; também possui alvos Native e JavaScript | IntelliJ IDEA | Sintaxe concisa, interoperabilidade com Java e recursos para reduzir problemas com valores nulos. Android, back-end, aplicações multiplataforma e ecossistema JVM. |
| Go | 2009 | Robert Griesemer, Rob Pike e Ken Thompson, no Google | Estática | Compilada | GoLand | Possui sintaxe enxuta e suporte nativo a concorrência por meio de goroutines e channels. Cloud, APIs, ferramentas de infraestrutura e sistemas distribuídos. |
| PHP | 1995 | Rasmus Lerdorf | Dinâmica, com declarações de tipos opcionais | Interpretada/VM, com JIT em versões modernas | VS Code | Foi criada com forte foco em desenvolvimento web e pode ser inserida em páginas e aplicações de servidor. Back-end web, sites, APIs e CMS como WordPress. |
| Lua | 1993 | Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, na PUC-Rio | Dinâmica | Interpretada/VM; existem implementações com JIT | VS Code | É pequena, leve e foi projetada para ser facilmente incorporada a outros programas. Jogos, scripts, extensões e sistemas embarcados. |
| Swift | 2014 | Apple, com Chris Lattner e equipe | Estática | Compilada | Xcode | Combina desempenho com recursos modernos de segurança de tipos e é a principal linguagem atual para desenvolvimento nativo no ecossistema Apple. Aplicativos para iOS, macOS, iPadOS e demais plataformas Apple. |
Linha do tempo resumida
- 1972 — C
- 1985 — C++
- 1991 — Python
- 1993 — Lua
- 1995 — JavaScript
- 1995 — Java
- 1995 — Ruby
- 1995 — PHP
- 2000 — C#
- 2009 — Go
- 2011 — Kotlin
- 2012 — TypeScript
- 2014 — Swift
3. C
Ano: 1972
Criador/origem: Dennis Ritchie, nos Bell Labs
Responsável/ecossistema atual: Padronizada pela ISO (comitê WG14)
Tipagem: Estática
Forma de execução: Compilada
IDE/editor indicado: VS Code + GCC
Usos comuns: Sistemas operacionais, embarcados, drivers e ensino
Particularidade: Linguagem eficiente, próxima dos recursos da máquina e com acesso explícito à memória. Influenciou muitas linguagens posteriores.
1. Olá, Mundo!
#include <stdio.h>
int main() {
printf("Ola, Mundo!\n");
return 0;
}
Entendendo o código:
#include <stdio.h>disponibiliza funções de entrada e saída.main()é o ponto de início do programa.printf()apresenta informações na tela.return 0indica término normal do programa.
2. Entrada → Processamento → Saída
#include <stdio.h>
int main() {
int numero1, numero2, resultado;
// Entrada
printf("Digite o primeiro numero: ");
scanf("%d", &numero1);
printf("Digite o segundo numero: ");
scanf("%d", &numero2);
// Processamento
resultado = numero1 + numero2;
// Saida
printf("Resultado: %d\n", resultado);
return 0;
}
| Etapa | Recurso principal |
|---|---|
| Entrada | scanf() |
| Processamento | resultado = numero1 + numero2 |
| Saída | printf() |
Ponto de atenção: Em C, o VS Code é apenas o editor. O GCC é o compilador que transforma o arquivo .c em um programa executável.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe e instale o Visual Studio Code. Durante a instalação, mantenha habilitada a opção de adicionar o VS Code ao PATH, quando disponível.
- Abra o VS Code, pressione
Ctrl + Shift + X, pesquise por C/C++ e instale a extensão publicada pela Microsoft. - Baixe e instale o MSYS2 pelo site oficial. Use o diretório padrão, normalmente
C:\msys64. - Abra o terminal MSYS2 UCRT64 e atualize os pacotes com
pacman -Syu. Se o terminal solicitar reinício, feche-o e abra novamente o MSYS2 UCRT64. - No MSYS2 UCRT64, instale as ferramentas com
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain. Quando aparecer a lista de pacotes, pressione Enter para aceitar o conjunto padrão. - No Windows, abra Editar as variáveis de ambiente do sistema → Variáveis de Ambiente → Path → Editar → Novo e acrescente
C:\msys64\ucrt64\bin. - Feche e abra novamente o VS Code. No terminal integrado, execute
gcc --version. Se a versão for exibida, a configuração está pronta. - Crie uma pasta para a aula, abra-a no VS Code e crie
main.c. - Compile com
gcc main.c -o programa.exee execute no PowerShell com.\programa.exe.
Fluxo de execução:
main.c → GCC → programa.exe → execução
4. Python
Ano: 1991
Criador/origem: Guido van Rossum
Responsável/ecossistema atual: Python Software Foundation (PSF)
Tipagem: Dinâmica
Forma de execução: Interpretada/bytecode em VM
IDE/editor indicado: PyCharm
Usos comuns: IA, ciência de dados, automação, web e ensino
Particularidade: Sintaxe simples e legível, grande ecossistema de bibliotecas e alta produtividade.
1. Olá, Mundo!
print("Olá, Mundo!")
Entendendo o código:
print()apresenta uma informação na tela.- Não é necessário declarar uma função principal em um programa simples.
- Não é obrigatório usar
;ao final das instruções.
2. Entrada → Processamento → Saída
# Entrada
numero1 = int(input("Digite o primeiro número: "))
numero2 = int(input("Digite o segundo número: "))
# Processamento
resultado = numero1 + numero2
# Saída
print("Resultado:", resultado)
| Etapa | Recurso principal |
|---|---|
| Entrada | input() + int() |
| Processamento | resultado = numero1 + numero2 |
| Saída | print() |
Ponto de atenção: input() retorna texto; int() converte o valor digitado para inteiro.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe o Python pelo site oficial e execute o instalador para Windows.
- Na instalação, habilite a opção que permite usar Python pelo terminal (normalmente indicada como adicionar Python ao PATH).
- Abra um novo PowerShell e execute
python --version. Em algumas instalações do Windows, também é possível usarpy --version. - Baixe e instale o PyCharm.
- Abra o PyCharm e escolha New Project. Selecione um interpretador Python instalado; o PyCharm também pode criar um ambiente virtual para o projeto.
- Crie o arquivo
main.pye cole o código. - Clique com o botão direito no arquivo e escolha Run main, ou execute no terminal com
python main.py.
Fluxo de execução:
main.py → interpretador Python → execução
5. C++
Ano: 1985
Criador/origem: Bjarne Stroustrup, nos Bell Labs
Responsável/ecossistema atual: Padronizada pela ISO (comitê WG21)
Tipagem: Estática
Forma de execução: Compilada
IDE/editor indicado: Visual Studio
Usos comuns: Jogos, sistemas, computação gráfica e aplicações de alto desempenho
Particularidade: Combina alto desempenho com múltiplos paradigmas, incluindo programação procedural, orientada a objetos e genérica.
1. Olá, Mundo!
#include <iostream>
using namespace std;
int main() {
cout << "Olá, Mundo!" << endl;
return 0;
}
Entendendo o código:
<iostream>oferece recursos de entrada e saída.coutenvia informações para a saída padrão.main()é o ponto de início da execução.
2. Entrada → Processamento → Saída
#include <iostream>
using namespace std;
int main() {
int numero1, numero2, resultado;
// Entrada
cout << "Digite o primeiro número: ";
cin >> numero1;
cout << "Digite o segundo número: ";
cin >> numero2;
// Processamento
resultado = numero1 + numero2;
// Saída
cout << "Resultado: " << resultado << endl;
return 0;
}
| Etapa | Recurso principal |
|---|---|
| Entrada | cin |
| Processamento | resultado = numero1 + numero2 |
| Saída | cout |
Ponto de atenção: C++ utiliza streams de entrada e saída. Os operadores >> e << são muito comuns nesses comandos.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe o Visual Studio Community pelo site da Microsoft e execute o instalador.
- Na tela Cargas de trabalho (Workloads), marque Desenvolvimento para desktop com C++. Essa opção instala a IDE, o compilador MSVC e os componentes necessários.
- Conclua a instalação e abra o Visual Studio.
- Escolha Criar um novo projeto e procure por Aplicativo de Console. Confirme que a linguagem selecionada é C++.
- Defina o nome e a pasta do projeto. O Visual Studio criará um arquivo
.cppinicial. - Substitua o conteúdo pelo exemplo da aula.
- Pressione
Ctrl + F5para compilar e executar sem depuração.
Fluxo de execução:
arquivo .cpp → compilador C++ → executável → execução
6. JavaScript
Ano: 1995
Criador/origem: Brendan Eich, na Netscape
Responsável/ecossistema atual: Padronizada como ECMAScript pela Ecma International (TC39)
Tipagem: Dinâmica; permite coerções implícitas
Forma de execução: Interpretada/JIT pelos motores JavaScript
IDE/editor indicado: VS Code
Usos comuns: Front-end web, back-end, aplicações web e automação
Particularidade: É a linguagem de programação nativa dos navegadores e também pode ser executada fora deles, por exemplo com Node.js.
1. Olá, Mundo!
console.log("Olá, Mundo!");
Entendendo o código:
console.log()apresenta uma informação no console.- Não é necessário declarar uma função
main()para um exemplo simples.
2. Entrada → Processamento → Saída
// Entrada
let numero1 = Number(prompt("Digite o primeiro número:"));
let numero2 = Number(prompt("Digite o segundo número:"));
// Processamento
let resultado = numero1 + numero2;
// Saída
console.log("Resultado:", resultado);
| Etapa | Recurso principal |
|---|---|
| Entrada | prompt() + Number() |
| Processamento | resultado = numero1 + numero2 |
| Saída | console.log() |
Ponto de atenção: prompt() retorna texto. Number() realiza a conversão para número. Este exemplo foi pensado para execução no navegador.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe e instale o Visual Studio Code.
- Crie uma pasta, por exemplo
aula-javascript, e abra essa pasta no VS Code. - Crie os arquivos
index.htmlescript.js. - No
index.html, use a estrutura mínima<!DOCTYPE html><html><body><script src="script.js"></script></body></html>. - Cole o código JavaScript em
script.js. - Abra
index.htmlem um navegador como Chrome, Edge ou Firefox. Oprompt()será exibido pelo navegador. - Para visualizar
console.log(), pressioneF12e abra a guia Console nas ferramentas do desenvolvedor.
Fluxo de execução:
index.html → script.js → motor JavaScript do navegador → execução
7. Java
Ano: 1995
Criador/origem: James Gosling e equipe, na Sun Microsystems
Responsável/ecossistema atual: Oracle / projeto OpenJDK e comunidade Java
Tipagem: Estática
Forma de execução: Compilada para bytecode e executada pela JVM
IDE/editor indicado: IntelliJ IDEA
Usos comuns: Sistemas corporativos, back-end, serviços e ecossistema JVM
Particularidade: O bytecode permite executar aplicações em diferentes sistemas que possuam uma JVM compatível.
1. Olá, Mundo!
public class Main {
public static void main(String[] args) {
System.out.println("Olá, Mundo!");
}
}
Entendendo o código:
- O código é organizado em classes.
main()é o ponto de entrada do programa.System.out.println()realiza a saída de dados.
2. Entrada → Processamento → Saída
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// Entrada
System.out.print("Digite o primeiro número: ");
int numero1 = entrada.nextInt();
System.out.print("Digite o segundo número: ");
int numero2 = entrada.nextInt();
// Processamento
int resultado = numero1 + numero2;
// Saída
System.out.println("Resultado: " + resultado);
entrada.close();
}
}
| Etapa | Recurso principal |
|---|---|
| Entrada | Scanner / nextInt() |
| Processamento | resultado = numero1 + numero2 |
| Saída | System.out.println() |
Ponto de atenção: Java apresenta mais estrutura mesmo em programas pequenos, pois o código é organizado em classes e executado sobre a JVM.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe e instale um JDK. Para ambiente didático, prefira uma versão identificada como LTS quando disponível.
- Abra um novo terminal e execute
java --versionejavac --version. Os dois comandos devem apresentar uma versão. - Baixe e instale o IntelliJ IDEA.
- Abra o IntelliJ e escolha New Project → Java.
- Em JDK, selecione o JDK instalado. Se a IDE oferecer a opção de baixar um JDK, ela também pode ser utilizada.
- Crie uma classe chamada
Main(arquivoMain.java) e cole o código. - Clique no botão ▶ exibido ao lado do método
main()para compilar e executar.
Fluxo de execução:
Main.java → javac → bytecode (.class) → JVM → execução
8. C#
Ano: 2000
Criador/origem: Microsoft, com Anders Hejlsberg como principal projetista original
Responsável/ecossistema atual: Microsoft / ecossistema .NET
Tipagem: Estática
Forma de execução: Compilada para IL e executada pelo .NET; pode usar JIT ou AOT
IDE/editor indicado: Visual Studio
Usos comuns: Web, desktop, sistemas corporativos, serviços e jogos com Unity
Particularidade: É uma das principais linguagens da plataforma .NET e possui forte suporte a orientação a objetos e programação assíncrona.
1. Olá, Mundo!
Console.WriteLine("Olá, Mundo!");
Entendendo o código:
- Versões modernas de C# permitem instruções de nível superior.
Console.WriteLine()apresenta dados no console.
2. Entrada → Processamento → Saída
// Entrada
Console.Write("Digite o primeiro número: ");
int numero1 = int.Parse(Console.ReadLine()!);
Console.Write("Digite o segundo número: ");
int numero2 = int.Parse(Console.ReadLine()!);
// Processamento
int resultado = numero1 + numero2;
// Saída
Console.WriteLine("Resultado: " + resultado);
| Etapa | Recurso principal |
|---|---|
| Entrada | Console.ReadLine() + int.Parse() |
| Processamento | resultado = numero1 + numero2 |
| Saída | Console.WriteLine() |
Ponto de atenção: Console.ReadLine() retorna texto; int.Parse() converte o conteúdo para inteiro.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe o Visual Studio Community.
- No instalador, marque a carga de trabalho Desenvolvimento para desktop com .NET. Ela instala os componentes necessários para os exemplos em C#.
- Conclua a instalação e abra o Visual Studio.
- Abra um terminal e execute
dotnet --versionpara confirmar a instalação do SDK do .NET. - No Visual Studio, escolha Criar um novo projeto → Aplicativo de Console e filtre pela linguagem C#.
- Abra
Program.cse substitua o conteúdo pelo código da aula. - Pressione
Ctrl + F5para executar sem depuração.
Fluxo de execução:
Program.cs → compilador .NET → IL/aplicação .NET → execução
9. TypeScript
Ano: 2012
Criador/origem: Microsoft, liderada originalmente por Anders Hejlsberg
Responsável/ecossistema atual: Microsoft e comunidade open source
Tipagem: Estática gradual e estrutural
Forma de execução: Transpilada para JavaScript
IDE/editor indicado: VS Code
Usos comuns: Aplicações web de médio e grande porte, front-end e back-end
Particularidade: Adiciona um sistema de tipos sobre JavaScript e gera JavaScript como resultado da transpilação.
1. Olá, Mundo!
console.log("Olá, Mundo!");
Entendendo o código:
- A sintaxe básica é próxima de JavaScript.
- O TypeScript é convertido para JavaScript antes da execução nos ambientes comuns.
2. Entrada → Processamento → Saída
// Entrada
let numero1: number = Number(prompt("Digite o primeiro número:"));
let numero2: number = Number(prompt("Digite o segundo número:"));
// Processamento
let resultado: number = numero1 + numero2;
// Saída
console.log("Resultado:", resultado);
| Etapa | Recurso principal |
|---|---|
| Entrada | prompt() + Number() |
| Processamento | resultado = numero1 + numero2 |
| Saída | console.log() |
Ponto de atenção: A anotação : number explicita o tipo. Como o exemplo usa prompt(), vamos executá-lo no navegador após transpilar para JavaScript.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe e instale o Visual Studio Code.
- Baixe e instale uma versão LTS do Node.js. O instalador inclui o gerenciador de pacotes
npm. - Abra um novo terminal e execute
node --versionenpm --version. - Crie uma pasta
aula-typescript, abra-a no VS Code e, no terminal, executenpm init -y. - Instale TypeScript no projeto com
npm install typescript --save-dev. - Crie o arquivo
main.tse cole o código da aula. - Crie também
index.htmlcontendo<script src="main.js"></script>dentro dobody. - No terminal, execute
npx tsc main.ts. O compilador criarámain.js. - Abra
index.htmlno navegador. UseF12 → Consolepara visualizar a saída.
Fluxo de execução:
main.ts → TypeScript (tsc) → main.js → navegador → execução
10. Ruby
Ano: 1995
Criador/origem: Yukihiro “Matz” Matsumoto
Responsável/ecossistema atual: Ruby core team e comunidade
Tipagem: Dinâmica
Forma de execução: Interpretada/VM, com JIT disponível em implementações modernas
IDE/editor indicado: RubyMine
Usos comuns: Desenvolvimento web, scripts, automação e aplicações com Ruby on Rails
Particularidade: Valoriza legibilidade, expressividade e produtividade do programador.
1. Olá, Mundo!
puts "Olá, Mundo!"
Entendendo o código:
putsescreve uma linha na saída.- A sintaxe de um programa simples é bastante compacta.
2. Entrada → Processamento → Saída
# Entrada
print "Digite o primeiro número: "
numero1 = gets.to_i
print "Digite o segundo número: "
numero2 = gets.to_i
# Processamento
resultado = numero1 + numero2
# Saída
puts "Resultado: #{resultado}"
| Etapa | Recurso principal |
|---|---|
| Entrada | gets + to_i |
| Processamento | resultado = numero1 + numero2 |
| Saída | puts |
Ponto de atenção: gets lê uma linha como texto; to_i converte o valor para inteiro.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe o RubyInstaller para Windows. Para computadores atuais, prefira o instalador x64 recomendado na página.
- Execute o instalador e mantenha habilitada a opção de adicionar Ruby ao PATH.
- Quando o instalador oferecer componentes do MSYS2, conclua a etapa recomendada pelo próprio RubyInstaller.
- Abra um novo terminal e execute
ruby --version. - Baixe e instale o RubyMine.
- Crie um novo projeto Ruby e confirme que o interpretador Ruby instalado foi reconhecido.
- Crie
main.rb, cole o código e execute pelo botão ▶ da IDE ou no terminal comruby main.rb.
Fluxo de execução:
main.rb → interpretador/VM Ruby → execução
11. Kotlin
Ano: 2011
Criador/origem: JetBrains
Responsável/ecossistema atual: JetBrains / Kotlin Foundation e comunidade
Tipagem: Estática
Forma de execução: Comumente compilada para bytecode JVM; também possui alvos Native e JavaScript
IDE/editor indicado: IntelliJ IDEA
Usos comuns: Android, back-end, aplicações multiplataforma e ecossistema JVM
Particularidade: Sintaxe concisa, interoperabilidade com Java e recursos para reduzir problemas com valores nulos.
1. Olá, Mundo!
fun main() {
println("Olá, Mundo!")
}
Entendendo o código:
fundeclara uma função.main()é o ponto de entrada.println()realiza a saída.
2. Entrada → Processamento → Saída
fun main() {
// Entrada
print("Digite o primeiro número: ")
val numero1 = readln().toInt()
print("Digite o segundo número: ")
val numero2 = readln().toInt()
// Processamento
val resultado = numero1 + numero2
// Saída
println("Resultado: $resultado")
}
| Etapa | Recurso principal |
|---|---|
| Entrada | readln() + toInt() |
| Processamento | resultado = numero1 + numero2 |
| Saída | println() |
Ponto de atenção: val define uma referência que não pode ser reatribuída. Use var quando a variável precisar receber outro valor posteriormente.
3. Preparando o ambiente para testar
Links
Passo a passo
- Instale um JDK, caso ainda não tenha feito isso para Java. Confirme com
java --version. - Baixe e instale o IntelliJ IDEA. O suporte básico a Kotlin já faz parte do ambiente atual da IDE.
- Abra o IntelliJ e escolha New Project → Kotlin.
- Selecione o JDK instalado e, para um exemplo simples, use um projeto JVM.
- Crie
Main.kte cole o código. - Clique no botão ▶ ao lado de
fun main()para compilar e executar. - Digite os dois números diretamente no console da IDE quando o programa solicitar.
Fluxo de execução:
Main.kt → compilador Kotlin → bytecode JVM → JVM → execução
12. Go
Ano: 2009
Criador/origem: Robert Griesemer, Rob Pike e Ken Thompson, no Google
Responsável/ecossistema atual: Google e comunidade Go
Tipagem: Estática
Forma de execução: Compilada
IDE/editor indicado: GoLand
Usos comuns: Cloud, APIs, ferramentas de infraestrutura e sistemas distribuídos
Particularidade: Possui sintaxe enxuta e suporte nativo a concorrência por meio de goroutines e channels.
1. Olá, Mundo!
package main
import "fmt"
func main() {
fmt.Println("Olá, Mundo!")
}
Entendendo o código:
package mainidentifica um programa executável.fmtoferece funções básicas de entrada e saída.func main()é o ponto de entrada.
2. Entrada → Processamento → Saída
package main
import "fmt"
func main() {
var numero1, numero2 int
// Entrada
fmt.Print("Digite o primeiro número: ")
fmt.Scan(&numero1)
fmt.Print("Digite o segundo número: ")
fmt.Scan(&numero2)
// Processamento
resultado := numero1 + numero2
// Saída
fmt.Println("Resultado:", resultado)
}
| Etapa | Recurso principal |
|---|---|
| Entrada | fmt.Scan() |
| Processamento | resultado := numero1 + numero2 |
| Saída | fmt.Println() |
Ponto de atenção: O operador := declara uma nova variável e permite que o compilador determine seu tipo a partir do valor atribuído.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe o instalador do Go para Windows no site oficial. Em computadores atuais, normalmente será usado o instalador
.msipara x86-64/amd64. - Execute o instalador mantendo as opções padrão.
- Abra um novo terminal e execute
go version. - Baixe e instale o GoLand.
- Crie um novo projeto Go e confirme que o SDK do Go foi localizado pela IDE.
- Crie
main.goe cole o código. - Execute pelo botão ▶ próximo de
func main()ou use o terminal:go run main.go.
Fluxo de execução:
main.go → compilador Go → programa nativo → execução
13. PHP
Ano: 1995
Criador/origem: Rasmus Lerdorf
Responsável/ecossistema atual: PHP core team, PHP Foundation e comunidade
Tipagem: Dinâmica, com declarações de tipos opcionais
Forma de execução: Interpretada/VM, com JIT em versões modernas
IDE/editor indicado: VS Code
Usos comuns: Back-end web, sites, APIs e CMS como WordPress
Particularidade: Foi criada com forte foco em desenvolvimento web e pode ser inserida em páginas e aplicações de servidor.
1. Olá, Mundo!
<?php
echo "Olá, Mundo!";
Entendendo o código:
<?phpinicia um bloco de código PHP.echorealiza uma saída de dados.
2. Entrada → Processamento → Saída
<?php
// Entrada
echo "Digite o primeiro número: ";
$numero1 = (int) trim(fgets(STDIN));
echo "Digite o segundo número: ";
$numero2 = (int) trim(fgets(STDIN));
// Processamento
$resultado = $numero1 + $numero2;
// Saída
echo "Resultado: " . $resultado . PHP_EOL;
| Etapa | Recurso principal |
|---|---|
| Entrada | fgets(STDIN) |
| Processamento | $resultado = $numero1 + $numero2 |
| Saída | echo |
Ponto de atenção: As variáveis PHP começam com $. Para este exemplo de console não é necessário instalar Apache, Nginx ou um servidor web.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe e instale o Visual Studio Code.
- Acesse a página oficial de binários PHP para Windows e baixe um pacote x64 em formato
.zipcompatível com o seu sistema. Para nossos exemplos de linha de comando, uma distribuição atual do PHP é suficiente. - Extraia o conteúdo, por exemplo, para
C:\php. - Abra Variáveis de Ambiente → Path → Editar → Novo e adicione
C:\php. - Feche e abra novamente o terminal e execute
php --version. - Crie uma pasta para a aula, abra-a no VS Code e crie
main.php. - Cole o código e execute no terminal integrado com
php main.php. - Se o Windows indicar falta de alguma biblioteca de execução da Microsoft, consulte as observações da página oficial do PHP para Windows e instale o redistribuível solicitado.
Fluxo de execução:
main.php → runtime PHP → execução no terminal
14. Lua
Ano: 1993
Criador/origem: Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, na PUC-Rio
Responsável/ecossistema atual: Equipe Lua / PUC-Rio
Tipagem: Dinâmica
Forma de execução: Interpretada/VM; existem implementações com JIT
IDE/editor indicado: VS Code
Usos comuns: Jogos, scripts, extensões e sistemas embarcados
Particularidade: É pequena, leve e foi projetada para ser facilmente incorporada a outros programas.
1. Olá, Mundo!
print("Olá, Mundo!")
Entendendo o código:
print()realiza uma saída simples.- Lua possui sintaxe compacta e poucos elementos obrigatórios em programas pequenos.
2. Entrada → Processamento → Saída
-- Entrada
io.write("Digite o primeiro número: ")
local numero1 = tonumber(io.read())
io.write("Digite o segundo número: ")
local numero2 = tonumber(io.read())
-- Processamento
local resultado = numero1 + numero2
-- Saída
print("Resultado:", resultado)
| Etapa | Recurso principal |
|---|---|
| Entrada | io.read() + tonumber() |
| Processamento | resultado = numero1 + numero2 |
| Saída | print() |
Ponto de atenção: io.read() lê a entrada e tonumber() tenta convertê-la para número. local restringe a variável ao escopo atual.
3. Preparando o ambiente para testar
Links
Passo a passo
- Baixe e instale o Visual Studio Code.
- Acesse o site oficial do Lua. Para Windows, uma forma prática de obter executáveis pré-compilados é o projeto LuaBinaries, indicado como opção de binários para a plataforma.
- Baixe o pacote de 64 bits correspondente à versão escolhida e extraia-o, por exemplo, para
C:\lua. - Observe o nome do executável fornecido pelo pacote. Dependendo da versão, ele pode incluir o número da versão, por exemplo
lua54.exeou similar. - Adicione
C:\luaaoPathdo Windows. - Abra um novo terminal e teste o executável com
lua -v; se o pacote mantiver o número no nome, use o nome correspondente, por exemplolua54 -v. - Crie
main.luano VS Code. - Execute com
lua main.luaou com o nome do executável correspondente à versão instalada.
Fluxo de execução:
main.lua → interpretador Lua → execução
15. Swift
Ano: 2014
Criador/origem: Apple, com Chris Lattner e equipe
Responsável/ecossistema atual: Apple e comunidade open source Swift
Tipagem: Estática
Forma de execução: Compilada
IDE/editor indicado: Xcode
Usos comuns: Aplicativos para iOS, macOS, iPadOS e demais plataformas Apple
Particularidade: Combina desempenho com recursos modernos de segurança de tipos e é a principal linguagem atual para desenvolvimento nativo no ecossistema Apple.
1. Olá, Mundo!
print("Olá, Mundo!")
Entendendo o código:
print()apresenta uma informação.- Programas simples em Swift podem conter instruções de nível superior.
2. Entrada → Processamento → Saída
// Entrada
print("Digite o primeiro número:")
let numero1 = Int(readLine()!)!
print("Digite o segundo número:")
let numero2 = Int(readLine()!)!
// Processamento
let resultado = numero1 + numero2
// Saída
print("Resultado: \(resultado)")
| Etapa | Recurso principal |
|---|---|
| Entrada | readLine() + Int() |
| Processamento | resultado = numero1 + numero2 |
| Saída | print() |
Ponto de atenção: O exemplo usa ! para simplificar a leitura inicial. Em aplicações reais, é recomendável tratar entradas inválidas e valores opcionais de forma segura.
3. Preparando o ambiente para testar
Links
Passo a passo
- Para usar o Xcode, utilize um computador Mac com uma versão de macOS compatível.
- Instale o Xcode pela Mac App Store ou pela página Apple Developer.
- Abra o Xcode e escolha Create a new Xcode project.
- Selecione um projeto macOS → Command Line Tool e escolha Swift como linguagem.
- Abra o arquivo
main.swiftcriado pelo projeto e substitua o conteúdo pelo exemplo. - Clique em ▶ Run ou use
Command + R. - Como alternativa para verificar o toolchain no Terminal do macOS, execute
swift --version.
Fluxo de execução:
main.swift → compilador Swift → executável → execução no macOS
Comparação rápida
| Linguagem | Extensão | Entrada | Saída | Ambiente recomendado |
|---|---|---|---|---|
| C | .c | scanf() | printf() | VS Code + GCC |
| Python | .py | input() + int() | print() | PyCharm |
| C++ | .cpp | cin | cout | Visual Studio |
| JavaScript | .js | prompt() + Number() | console.log() | VS Code |
| Java | .java | Scanner / nextInt() | System.out.println() | IntelliJ IDEA |
| C# | .cs | Console.ReadLine() + int.Parse() | Console.WriteLine() | Visual Studio |
| TypeScript | .ts | prompt() + Number() | console.log() | VS Code |
| Ruby | .rb | gets + to_i | puts | RubyMine |
| Kotlin | .kt | readln() + toInt() | println() | IntelliJ IDEA |
| Go | .go | fmt.Scan() | fmt.Println() | GoLand |
| PHP | .php | fgets(STDIN) | echo | VS Code |
| Lua | .lua | io.read() + tonumber() | print() | VS Code |
| Swift | .swift | readLine() + Int() | print() | Xcode |
Conclusão
As linguagens possuem sintaxes, ferramentas e formas de execução diferentes, mas os princípios de lógica de programação permanecem. Nos exemplos deste material, todas resolvem o mesmo problema: recebem dois valores, processam uma soma e apresentam o resultado. O objetivo é perceber que a lógica vem antes da linguagem; a linguagem é uma forma de expressar a solução.
Links e telas de instalação podem mudar ao longo do tempo. Em caso de diferença visual, utilize sempre a página oficial indicada e procure a opção equivalente para o sistema operacional utilizado.