Instruções, algoritmos e o computador obediente
Você já segue algoritmos todos os dias sem chamar assim: uma receita de bolo, o passo a passo de trocar um pneu, as instruções de montagem de um móvel. Programar é escrever esse mesmo tipo de passo a passo, só que para uma máquina.
Estudar esta lição interativa →Pense numa receita de bolo simples: "quebre dois ovos, misture com uma xícara de açúcar, adicione duas xícaras de farinha, mexa até ficar homogêneo, leve ao forno por 40 minutos". Repare que cada passo é uma instrução clara, e a ordem importa: misturar a farinha antes de quebrar os ovos não dá o mesmo resultado. Isso, um passo a passo preciso para chegar a um resultado, é o que chamamos de algoritmo. E é exatamente isso que programar é: escrever um algoritmo numa forma que um computador consiga seguir à risca.
A diferença entre seguir uma receita e programar é que uma pessoa preenche as lacunas sozinha. Se a receita disser "tempere a gosto", você usa seu próprio julgamento. Um computador não tem julgamento nenhum: ele é obediente e literal. Ele faz exatamente, e só exatamente, o que a instrução disser, nem mais, nem menos, nunca "no espírito" do que você quis dizer. Essa característica, que pode parecer uma limitação, é na verdade o que torna a programação previsível e poderosa: o mesmo algoritmo, seguido do mesmo jeito, sempre produz o mesmo resultado.
Imagine dar instruções de trocar um pneu para alguém que nunca fez isso e que vai obedecer exatamente, palavra por palavra, sem inferir nada por conta própria. "Afrouxe os parafusos" não basta, porque falta dizer com o quê, em que direção, quantos. Um computador é esse tipo de aprendiz: extremamente capaz de executar rápido e sem erro, mas incapaz de adivinhar o que você não escreveu.
Chega de teoria: hora de ver isso rodando de verdade. Ao longo deste curso inteiro, vamos escrever essas instruções usando uma linguagem de programação real como veículo, o JavaScript, porque ela roda instantaneamente aqui na página, sem instalar nada. Mas atenção a um ponto importante: este não é um curso de JavaScript. É um curso de lógica de programação. Cada ideia que você vai aprender aqui (guardar informação, tomar decisões, repetir tarefas, dividir problemas) existe, com outro nome ou outra sintaxe, em absolutamente qualquer linguagem: Python, Java, C#, o que for. A sintaxe é só a ferramenta; o raciocínio é o que fica com você para sempre.
console.log("Alô! Isto é um programa rodando de verdade.");
console.log("Cada linha aqui é uma instrução, obedecida em ordem.");Clique em Rodar e observe o console abaixo do editor.
Essas duas linhas são duas instruções. O computador as executa na ordem em que aparecem, de cima para baixo, uma de cada vez, exatamente como você seguiria os passos de uma receita. console.log(...) é o comando que usamos ao longo de todo o curso para pedir ao computador "mostre isto para mim"; pense nele como o jeito de a máquina te responder, para você conseguir ver o que o programa está pensando por dentro.
Não é preciso decorar nenhum símbolo agora. O que importa nesta primeira aula é uma coisa só: escrever uma instrução, rodar, e ver o resultado. Esse ciclo (escrever, rodar, observar, ajustar) é o motor deste curso inteiro, e ele fica mais natural a cada lição.
"Fazer o carro andar mais rápido" não é uma instrução que um computador consiga seguir: falta dizer o quê, exatamente, fazer (pisar no acelerador? Quanto?). Ao longo do curso, sempre que um exercício não fizer o esperado, a primeira pergunta a se fazer é: "a instrução que escrevi diz exatamente, sem ambiguidade, o que eu quero que aconteça?" Na maioria das vezes, o problema mora aí.
console.log("Estou aprendendo lógica de programação!);Feche a aspa que falta e rode.