1. O que é programar
A analogia da receita
Pense num programa como uma receita de bolo. Os ingredientes são os dados que o programa usa (farinha, ovos, leite - ou nome, idade, ouro). Os passos da receita são as instruções (bata, asse, deixe esfriar - ou some, compare, imprima). E o resultado final é o bolo, ou no caso da programação, o efeito que o programa produz na tela.
Continuando a analogia: uma decisão na receita (“se a massa estiver crua, deixe mais 5 minutos”) corresponde a um condicional no código. E “bata até o ponto de fita” é um laço de repetição - você bate, verifica, bate de novo, até a condição mudar.
Não é metáfora forçada. Receitas e programas são parentes próximos. Toda receita assume que quem vai cozinhar segue as instruções na ordem certa, mede com cuidado, e reage quando algo não sai como esperado. Todo programa pressupõe a mesma coisa de quem o escreve.
A máquina é literal
A diferença mais importante entre dar uma instrução a uma pessoa e dar uma instrução a um computador é que o computador não infere nada. Se você diz a uma pessoa “feche a porta”, ela infere qual porta, em que velocidade, com quanto cuidado. O computador não. Você precisa dizer qual porta, em que ordem, e o que fazer se a porta já estiver fechada.
No começo isso parece ruim. Parece que programar é digitar mil detalhes óbvios. Com o tempo, vira ferramenta de pensamento: você descobre que escrever um programa que funciona te força a pensar em todos os casos, e que isso te torna melhor em pensar em coisas que não são programa também. Decidir o que cozinhar no almoço vira mais claro. Planejar uma viagem vira mais sistemático.
O mundo perdoa ambiguidade. Computadores não. Programar é exercitar o músculo de não tolerar ambiguidade.
Código é texto
Programa não é mágica. Não é binário invisível no fundo da máquina. É texto num arquivo, salvo no disco como qualquer outro arquivo. Você abre num editor de texto (Bloco de Notas serve, embora não seja ideal), digita as instruções da linguagem, salva. O computador depois lê esse arquivo e executa.
Você vai criar um arquivo ola.dart no Capítulo 6 deste guia. Esse arquivo vai ter três linhas. Você vai abrir essas três linhas num editor, salvar, e dizer ao computador “execute este arquivo”. A tela vai mostrar a saudação. Pronto: programou.
Não tem segredo. Tem apenas vocabulário (das palavras-chave da linguagem) e gramática (de onde colocar parênteses e ponto-e-vírgula). Tudo o resto é prática.
Por que escrever código compensa
Programar resolve dois tipos de problema: práticos e mentais.
Práticos. Você pode automatizar coisas chatas que faria à mão (renomear 200 arquivos de uma vez, processar uma planilha enorme, baixar fotos de um site). Pode construir coisas que não existem (um jogo, um site, uma ferramenta que só faz sentido para você). Pode entender melhor as ferramentas que já usa (Excel, navegador, sistemas de pagamento - todos foram escritos por gente como você que aprendeu).
Mentais. Programar te ensina a quebrar problemas grandes em problemas pequenos. Te ensina a persistir quando algo não funciona (e algo nunca funciona de primeira). Te ensina que erro não é fracasso, é mensagem - o computador está literalmente te dizendo o que deu errado e em qual linha. Programadores velhos não escrevem código sem bug; só ficaram melhores em ler o erro e corrigir rápido.
Você não precisa virar programador profissional para colher esses benefícios. Aprende um pouco, usa para o que precisa, e os músculos mentais ficam.