Pular para o conteúdo principal

Começando

Cada linguagem de programação tem sua própria forma de começar. Aqui está como criar um programa simples "Hello, World!" em cada linguagem.

Visão Geral das Linguagens​

Tipo: Interpretado, tipagem dinâmica

Paradigma: Multi-paradigma (procedural, orientado a objetos, funcional)

Runtime: Node.js (lado servidor) ou navegador (lado cliente)

Instalação:

  • Baixe em nodejs.org
  • Ou use gerenciadores de pacotes: brew install node (macOS), apt install nodejs (Linux)

Documentação Oficial: developer.mozilla.org

Verificação:

Após a instalação, verifique sua configuração:

node --version

Pré-requisitos​

Antes de começar a programar, certifique-se de ter:

  1. Um editor de texto ou IDE (VS Code, Vim, IntelliJ, etc.)
  2. O runtime/compilador da linguagem instalado (veja as instruções de instalação acima)
  3. Acesso ao terminal/linha de comando para executar seus programas
  4. Conhecimento básico de linha de comando

Hello World​

// JavaScript (Node.js)
console.log('Hello, World!');

Executando Seu Primeiro Programa​

node hello.js

Principais Conclusões​

  • Diversidade de paradigmas -- As linguagens vão do procedural (C) ao multi-paradigma (JavaScript, Python, Rust) ao foco em sistemas (Zig). Por exemplo, C mantém você próximo da máquina com um modelo procedural mínimo, enquanto Rust e Swift mesclam programação de sistemas com recursos funcionais e orientados a objetos. JavaScript e Python suportam múltiplos paradigmas: você pode escrever código imperativo, POO ou funcional no mesmo arquivo. Ao escolher uma linguagem, prefira C ou Zig para controle de baixo nível; Rust, Go ou Swift para desempenho de sistemas com ergonomia moderna; e JavaScript, Python ou Ruby para iteração rápida e amplo suporte de ecossistema.

  • Sistemas de tipagem -- Linguagens compiladas (Rust, Go, C++, Java, Swift, Zig) são estaticamente tipadas, o que significa que erros de tipo são detectados antes da execução do programa. Linguagens interpretadas (JavaScript, Python, PHP, Ruby) são dinamicamente tipadas, então você pode reatribuir variáveis para tipos diferentes (let x = 42; x = "hello" em JavaScript). Tipagem estática oferece garantias mais fortes e melhor suporte de IDE; tipagem dinâmica favorece prototipagem rápida. Para bases de código grandes e de longa duração, prefira Rust, Go, Java ou C#; para scripts e protótipos, Python ou JavaScript geralmente são suficientes.

  • Modelos de execução -- Linguagens compiladas (C, C++, Rust, Go, Zig, Swift) produzem código de máquina nativo; você executa o binário diretamente. JavaScript usa Node.js ou o navegador; Java usa a JVM; C# usa o runtime .NET. Python e Ruby usam interpretadores que executam o código fonte linha a linha. Binários compilados iniciam rápido e frequentemente rodam mais rápido; linguagens baseadas em runtime oferecem facilidade multiplataforma e recursos dinâmicos. Escolha linguagens compiladas para implantações críticas em desempenho ou standalone; escolha runtimes para backends web e aplicações multiplataforma.

  • Requisitos de ponto de entrada -- Linguagens estilo C requerem um main() explícito (ex.: fn main() em Rust, func main() em Go, int main() em C). Python e Ruby executam código de nível superior desde a primeira linha; print("Hello") no topo de um arquivo roda imediatamente. Go requer tanto package main quanto func main() no mesmo pacote. Java e C# vinculam pontos de entrada a uma classe (public static void main). Ao trocar de linguagem, observe essas diferenças: algumas esperam uma única função de entrada, outras executam scripts de cima para baixo.

  • Configuração e verificação -- Cada linguagem tem seu próprio instalador e comando de versão: node --version, python3 --version, rustc --version, go version, etc. Use esses comandos para confirmar seu ambiente antes de programar. Para linguagens de sistemas (C, C++, Rust, Zig), você normalmente compila e depois executa; para linguagens interpretadas ou baseadas em runtime, você executa o código fonte ou bytecode diretamente. Prefira os instaladores oficiais (ex.: rustup para Rust, instaladores SDK para .NET e Java) para a melhor experiência.