1. O que é afinal "programar"?
Dizer ao computador exatamente o que fazer, através de instruções sem ambiguidade.
Programar é dar instruções passo a passo a um computador para resolver um problema. O computador é incrivelmente rápido, mas é completamente literal — não tem intuição, não "percebe" o que queres dizer, só executa exatamente o que escreveste.
Imagina que estás a escrever uma receita de bolo para um robô que nunca fez nada na vida:
- Não podes dizer só "faz a massa" — o robô não sabe o que isso significa.
- Tens de dizer: "Pega em 2 ovos. Parte a casca. Deita o conteúdo numa tigela. Adiciona 200g de açúcar. Mexe em círculos durante 3 minutos."
Um humano preenche os espaços em branco sozinho ("ah, deve querer dizer isto"). Um computador não. Se disseres "abre a porta" a um computador sem definir o que é "porta", "abrir" e como reconhecer que a ação terminou, ele simplesmente falha — e isso não é o computador a ser burro, é o teu pedido que estava incompleto.
As três coisas que todo o programa faz
Por baixo de qualquer aplicação, jogo ou site, só há três tipos de instrução a repetir-se:
- Guardar informação — números, texto, o que quer que seja (variáveis).
- Tomar decisões — "se isto for verdade, faz A; senão, faz B" (condições).
- Repetir ações — fazer a mesma coisa muitas vezes sem reescrever o código (loops).
Vais ver estas três ideias uma e outra vez em todas as linguagens que aprenderes — a sintaxe muda, a ideia não. Aprendê-las bem agora poupa-te meses de confusão mais tarde. É por isso que a próxima fase (Fase 1) é inteiramente sobre pensar desta forma antes de tocares em código real.
Programar não é decorar sintaxe
O erro mais comum de quem começa é achar que programar é decorar palavras-chave. Não é. É decompor um problema em passos pequenos e sem ambiguidade. A sintaxe (a forma exata de escrever) aprende-se a usar — o raciocínio por trás é a parte difícil, e é a parte que esta plataforma tenta ensinar-te primeiro.
// 1. Guardar informação
const ovos = 2;
const acucarGramas = 200;
// 2. Tomar uma decisão
if (ovos >= 2 && acucarGramas >= 200) {
console.log("Massa pronta para misturar!");
} else {
console.log("Faltam ingredientes!");
}
// 3. Repetir uma ação
for (let volta = 1; volta <= 3; volta++) {
console.log("A mexer a massa... volta " + volta);
}