Alguém que esteja inserido numa rotina exigente e competitiva, como um emprego numa empresa de Web Design, depara-se diariamente com desafios e obstáculos que têm de ser resolvidos não daqui a uma semana, mas hoje e agora.
Tudo isto é muito bonito quando olhamos para a programação como uma ocupação dos nossos tempos livres, mas as coisas complicam-se quando ela passa a ser a nossa profissão.
Frente-a-frente com o objectivo, o suor escorrega-se-nos pela testa, os colarinhos desapertam-se, as mãos não param, ansiosas.
Contudo, no preciso momento em que tudo parece mais complicado de resolver, quando os nervos nos toldam a vista e tudo parece desmoronar-se à nossa volta, respiramos fundo e enfrentamos o “boi” pela frente. Olhos nos olhos. Encostamos os dedos ao teclado, em busca de inspiração das musas da programação e começamos a programar.
Aos poucos e poucos, o nevoeiro dissipa-se, as primeiras linhas de código começam a aparecer, e tudo se torna mais claro. Ouvimos no nosso interior uma voz que diz: “O que é que o programa tem de fazer?”, silenciosamente respondemos: “O objectivo é este e aquele”. A voz regressa e sussura: “Ai é, então o que é preciso fazer para isso acontecer?”. “É preciso que o programa mostre tal e tal” – respondemos, já em voz alta. E a voz, mais calma, aconselha: “Abstrai-te das linhas de código que precisas, pensa apenas nos passos que o programa fará, visualiza-os e, finalmente, traduz o que vês em linguagem de computador”.
Essas imagens surgem como screenshots mentais e, as frases da nossa linguagem humana: “… se tal evento acontecer, acontece o seguinte…” logo se transformam em: “if… else… switch… foreach…”, na perfeita tradução de Português (ou qualquer que seja a língua que falamos) para a nossa linguagem de programação preferida.
E os nossos objectivos cumprem-se aqui e agora. De um momento para o outro, o complexo torna-se simples.
A simplicidade, isso sim, é que é a parte mais complexa de todo este processo. E, por vezes, mais que programar de trás para a frente, mais que saber todas as funções e sintaxe de cor e salteado, o importante é visualizar, traduzir… simplificar.