← Voltar para Índice

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

Acesso rápido por linguagem

LinguagemOlá, Mundo!Entrada → Processamento → SaídaInstalação do ambienteLinks de download
Cververpasso a passolinks
Pythonververpasso a passolinks
C++ververpasso a passolinks
JavaScriptververpasso a passolinks
Javaververpasso a passolinks
C#ververpasso a passolinks
TypeScriptververpasso a passolinks
Rubyververpasso a passolinks
Kotlinververpasso a passolinks
Goververpasso a passolinks
PHPververpasso a passolinks
Luaververpasso a passolinks
Swiftververpasso a passolinks

Índice por assunto


1. Conceitos iniciais

Linguagem, IDE e compilador/interpretador

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

LinguagemAnoCriador / origemTipagemExecuçãoIDE indicadaParticularidade / uso
C1972Dennis Ritchie, nos Bell LabsEstáticaCompiladaVS Code + GCCLinguagem 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.
Python1991Guido van RossumDinâmicaInterpretada/bytecode em VMPyCharmSintaxe simples e legível, grande ecossistema de bibliotecas e alta produtividade. IA, ciência de dados, automação, web e ensino.
C++1985Bjarne Stroustrup, nos Bell LabsEstáticaCompiladaVisual StudioCombina 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.
JavaScript1995Brendan Eich, na NetscapeDinâmica; permite coerções implícitasInterpretada/JIT pelos motores JavaScriptVS 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.
Java1995James Gosling e equipe, na Sun MicrosystemsEstáticaCompilada para bytecode e executada pela JVMIntelliJ IDEAO bytecode permite executar aplicações em diferentes sistemas que possuam uma JVM compatível. Sistemas corporativos, back-end, serviços e ecossistema JVM.
C#2000Microsoft, com Anders Hejlsberg como principal projetista originalEstáticaCompilada para IL e executada pelo .NET; pode usar JIT ou AOTVisual 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.
TypeScript2012Microsoft, liderada originalmente por Anders HejlsbergEstática gradual e estruturalTranspilada para JavaScriptVS CodeAdiciona 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.
Ruby1995Yukihiro “Matz” MatsumotoDinâmicaInterpretada/VM, com JIT disponível em implementações modernasRubyMineValoriza legibilidade, expressividade e produtividade do programador. Desenvolvimento web, scripts, automação e aplicações com Ruby on Rails.
Kotlin2011JetBrainsEstáticaComumente compilada para bytecode JVM; também possui alvos Native e JavaScriptIntelliJ IDEASintaxe concisa, interoperabilidade com Java e recursos para reduzir problemas com valores nulos. Android, back-end, aplicações multiplataforma e ecossistema JVM.
Go2009Robert Griesemer, Rob Pike e Ken Thompson, no GoogleEstáticaCompiladaGoLandPossui sintaxe enxuta e suporte nativo a concorrência por meio de goroutines e channels. Cloud, APIs, ferramentas de infraestrutura e sistemas distribuídos.
PHP1995Rasmus LerdorfDinâmica, com declarações de tipos opcionaisInterpretada/VM, com JIT em versões modernasVS CodeFoi 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.
Lua1993Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes, na PUC-RioDinâmicaInterpretada/VM; existem implementações com JITVS CodeÉ pequena, leve e foi projetada para ser facilmente incorporada a outros programas. Jogos, scripts, extensões e sistemas embarcados.
Swift2014Apple, com Chris Lattner e equipeEstáticaCompiladaXcodeCombina 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

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:

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;
}
EtapaRecurso principal
Entradascanf()
Processamentoresultado = numero1 + numero2
Saídaprintf()

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

Passo a passo

  1. 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.
  2. Abra o VS Code, pressione Ctrl + Shift + X, pesquise por C/C++ e instale a extensão publicada pela Microsoft.
  3. Baixe e instale o MSYS2 pelo site oficial. Use o diretório padrão, normalmente C:\msys64.
  4. 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.
  5. 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.
  6. No Windows, abra Editar as variáveis de ambiente do sistema → Variáveis de Ambiente → Path → Editar → Novo e acrescente C:\msys64\ucrt64\bin.
  7. Feche e abra novamente o VS Code. No terminal integrado, execute gcc --version. Se a versão for exibida, a configuração está pronta.
  8. Crie uma pasta para a aula, abra-a no VS Code e crie main.c.
  9. Compile com gcc main.c -o programa.exe e 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:

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)
EtapaRecurso principal
Entradainput() + int()
Processamentoresultado = numero1 + numero2
Saídaprint()

Ponto de atenção: input() retorna texto; int() converte o valor digitado para inteiro.

3. Preparando o ambiente para testar

Passo a passo

  1. Baixe o Python pelo site oficial e execute o instalador para Windows.
  2. Na instalação, habilite a opção que permite usar Python pelo terminal (normalmente indicada como adicionar Python ao PATH).
  3. Abra um novo PowerShell e execute python --version. Em algumas instalações do Windows, também é possível usar py --version.
  4. Baixe e instale o PyCharm.
  5. Abra o PyCharm e escolha New Project. Selecione um interpretador Python instalado; o PyCharm também pode criar um ambiente virtual para o projeto.
  6. Crie o arquivo main.py e cole o código.
  7. 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:

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;
}
EtapaRecurso principal
Entradacin
Processamentoresultado = numero1 + numero2
Saídacout

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

Passo a passo

  1. Baixe o Visual Studio Community pelo site da Microsoft e execute o instalador.
  2. 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.
  3. Conclua a instalação e abra o Visual Studio.
  4. Escolha Criar um novo projeto e procure por Aplicativo de Console. Confirme que a linguagem selecionada é C++.
  5. Defina o nome e a pasta do projeto. O Visual Studio criará um arquivo .cpp inicial.
  6. Substitua o conteúdo pelo exemplo da aula.
  7. Pressione Ctrl + F5 para 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:

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);
EtapaRecurso principal
Entradaprompt() + Number()
Processamentoresultado = numero1 + numero2
Saídaconsole.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

Passo a passo

  1. Baixe e instale o Visual Studio Code.
  2. Crie uma pasta, por exemplo aula-javascript, e abra essa pasta no VS Code.
  3. Crie os arquivos index.html e script.js.
  4. No index.html, use a estrutura mínima <!DOCTYPE html><html><body><script src="script.js"></script></body></html>.
  5. Cole o código JavaScript em script.js.
  6. Abra index.html em um navegador como Chrome, Edge ou Firefox. O prompt() será exibido pelo navegador.
  7. Para visualizar console.log(), pressione F12 e 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:

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();
    }
}
EtapaRecurso principal
EntradaScanner / nextInt()
Processamentoresultado = numero1 + numero2
SaídaSystem.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

Passo a passo

  1. Baixe e instale um JDK. Para ambiente didático, prefira uma versão identificada como LTS quando disponível.
  2. Abra um novo terminal e execute java --version e javac --version. Os dois comandos devem apresentar uma versão.
  3. Baixe e instale o IntelliJ IDEA.
  4. Abra o IntelliJ e escolha New Project → Java.
  5. Em JDK, selecione o JDK instalado. Se a IDE oferecer a opção de baixar um JDK, ela também pode ser utilizada.
  6. Crie uma classe chamada Main (arquivo Main.java) e cole o código.
  7. 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:

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);
EtapaRecurso principal
EntradaConsole.ReadLine() + int.Parse()
Processamentoresultado = numero1 + numero2
SaídaConsole.WriteLine()

Ponto de atenção: Console.ReadLine() retorna texto; int.Parse() converte o conteúdo para inteiro.

3. Preparando o ambiente para testar

Passo a passo

  1. Baixe o Visual Studio Community.
  2. No instalador, marque a carga de trabalho Desenvolvimento para desktop com .NET. Ela instala os componentes necessários para os exemplos em C#.
  3. Conclua a instalação e abra o Visual Studio.
  4. Abra um terminal e execute dotnet --version para confirmar a instalação do SDK do .NET.
  5. No Visual Studio, escolha Criar um novo projeto → Aplicativo de Console e filtre pela linguagem C#.
  6. Abra Program.cs e substitua o conteúdo pelo código da aula.
  7. Pressione Ctrl + F5 para 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:

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);
EtapaRecurso principal
Entradaprompt() + Number()
Processamentoresultado = numero1 + numero2
Saídaconsole.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

Passo a passo

  1. Baixe e instale o Visual Studio Code.
  2. Baixe e instale uma versão LTS do Node.js. O instalador inclui o gerenciador de pacotes npm.
  3. Abra um novo terminal e execute node --version e npm --version.
  4. Crie uma pasta aula-typescript, abra-a no VS Code e, no terminal, execute npm init -y.
  5. Instale TypeScript no projeto com npm install typescript --save-dev.
  6. Crie o arquivo main.ts e cole o código da aula.
  7. Crie também index.html contendo <script src="main.js"></script> dentro do body.
  8. No terminal, execute npx tsc main.ts. O compilador criará main.js.
  9. Abra index.html no navegador. Use F12 → Console para 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:

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}"
EtapaRecurso principal
Entradagets + to_i
Processamentoresultado = numero1 + numero2
Saídaputs

Ponto de atenção: gets lê uma linha como texto; to_i converte o valor para inteiro.

3. Preparando o ambiente para testar

Passo a passo

  1. Baixe o RubyInstaller para Windows. Para computadores atuais, prefira o instalador x64 recomendado na página.
  2. Execute o instalador e mantenha habilitada a opção de adicionar Ruby ao PATH.
  3. Quando o instalador oferecer componentes do MSYS2, conclua a etapa recomendada pelo próprio RubyInstaller.
  4. Abra um novo terminal e execute ruby --version.
  5. Baixe e instale o RubyMine.
  6. Crie um novo projeto Ruby e confirme que o interpretador Ruby instalado foi reconhecido.
  7. Crie main.rb, cole o código e execute pelo botão ▶ da IDE ou no terminal com ruby 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:

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")
}
EtapaRecurso principal
Entradareadln() + toInt()
Processamentoresultado = numero1 + numero2
Saídaprintln()

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

Passo a passo

  1. Instale um JDK, caso ainda não tenha feito isso para Java. Confirme com java --version.
  2. Baixe e instale o IntelliJ IDEA. O suporte básico a Kotlin já faz parte do ambiente atual da IDE.
  3. Abra o IntelliJ e escolha New Project → Kotlin.
  4. Selecione o JDK instalado e, para um exemplo simples, use um projeto JVM.
  5. Crie Main.kt e cole o código.
  6. Clique no botão ▶ ao lado de fun main() para compilar e executar.
  7. 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:

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)
}
EtapaRecurso principal
Entradafmt.Scan()
Processamentoresultado := numero1 + numero2
Saídafmt.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

Passo a passo

  1. Baixe o instalador do Go para Windows no site oficial. Em computadores atuais, normalmente será usado o instalador .msi para x86-64/amd64.
  2. Execute o instalador mantendo as opções padrão.
  3. Abra um novo terminal e execute go version.
  4. Baixe e instale o GoLand.
  5. Crie um novo projeto Go e confirme que o SDK do Go foi localizado pela IDE.
  6. Crie main.go e cole o código.
  7. 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:

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;
EtapaRecurso principal
Entradafgets(STDIN)
Processamento$resultado = $numero1 + $numero2
Saídaecho

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

Passo a passo

  1. Baixe e instale o Visual Studio Code.
  2. Acesse a página oficial de binários PHP para Windows e baixe um pacote x64 em formato .zip compatível com o seu sistema. Para nossos exemplos de linha de comando, uma distribuição atual do PHP é suficiente.
  3. Extraia o conteúdo, por exemplo, para C:\php.
  4. Abra Variáveis de Ambiente → Path → Editar → Novo e adicione C:\php.
  5. Feche e abra novamente o terminal e execute php --version.
  6. Crie uma pasta para a aula, abra-a no VS Code e crie main.php.
  7. Cole o código e execute no terminal integrado com php main.php.
  8. 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:

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)
EtapaRecurso principal
Entradaio.read() + tonumber()
Processamentoresultado = numero1 + numero2
Saídaprint()

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

Passo a passo

  1. Baixe e instale o Visual Studio Code.
  2. 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.
  3. Baixe o pacote de 64 bits correspondente à versão escolhida e extraia-o, por exemplo, para C:\lua.
  4. 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.exe ou similar.
  5. Adicione C:\lua ao Path do Windows.
  6. 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 exemplo lua54 -v.
  7. Crie main.lua no VS Code.
  8. Execute com lua main.lua ou 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:

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)")
EtapaRecurso principal
EntradareadLine() + Int()
Processamentoresultado = numero1 + numero2
Saídaprint()

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

Passo a passo

  1. Para usar o Xcode, utilize um computador Mac com uma versão de macOS compatível.
  2. Instale o Xcode pela Mac App Store ou pela página Apple Developer.
  3. Abra o Xcode e escolha Create a new Xcode project.
  4. Selecione um projeto macOS → Command Line Tool e escolha Swift como linguagem.
  5. Abra o arquivo main.swift criado pelo projeto e substitua o conteúdo pelo exemplo.
  6. Clique em ▶ Run ou use Command + R.
  7. 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

LinguagemExtensãoEntradaSaídaAmbiente recomendado
C.cscanf()printf()VS Code + GCC
Python.pyinput() + int()print()PyCharm
C++.cppcincoutVisual Studio
JavaScript.jsprompt() + Number()console.log()VS Code
Java.javaScanner / nextInt()System.out.println()IntelliJ IDEA
C#.csConsole.ReadLine() + int.Parse()Console.WriteLine()Visual Studio
TypeScript.tsprompt() + Number()console.log()VS Code
Ruby.rbgets + to_iputsRubyMine
Kotlin.ktreadln() + toInt()println()IntelliJ IDEA
Go.gofmt.Scan()fmt.Println()GoLand
PHP.phpfgets(STDIN)echoVS Code
Lua.luaio.read() + tonumber()print()VS Code
Swift.swiftreadLine() + 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.