A arte de programar

Autor: Mário Leite  

Programar é criar uma rotina para que, seguindo uma lógica passo-a-passo, possamos concluir um trabalho qualquer. Esta definição, certamente levará o leitor a pensar que programar é criar uma receita de bolo; e é isso mesmo. Afinal, escrever um programa não é nada mais do que criar uma receita para resolver um problema qualquer. Então, qualquer um pode aprender a programar? Claro que pode, apesar de alguns acharem que todo programador nasce com o dom de programar; não é bem assim. O que ocorre na maioria das vezes é que a pessoa interessada em aprender programação, ao ler as revistas e periódicos que tratam do assunto fica com uma imagem um pouco distorcida do que é realmente programação. Isto porque temos poucas publicações especializadas que tratam do assunto de maneira clara, sem preconceitos e num nível que os simples "mortais" possam entender. O que existe são livros sobre determinada linguagem de programação, adotados como livros-texto. O que se vê normalmente é uma avalanche de livros grossos, parecendo uma lista telefônica, cheio de termos estranhos, que desencoraja qualquer um que esteja interessado no assunto. É claro que não estou fazendo apologia de cursos baixo nível (o aluno deve escolher bem, procurando referências com outros que já o fizeram); o importante é fazer com que o futuro programador não se sinta rejeitado na primeira leitura sobre o assunto. E como fazer com que o candidato possa realmente se interessar por um curso de programação sem se chocar com o conteúdo da matéria? Podemos analisar essa questão sob dois ângulos; primeiro, se a pessoa não tem conhecimento prévio de nenhuma linguagem ela deve começar estudando um pouco de Lógica de Programação antes de ver a linguagem propriamente dita; mas isto deve ser feito através de um curso não muito longo, porém objetivo, para não produzir efeitos colaterais no aluno. Um curso para ser bom, eficiente, agradável, agregando realmente valor ao aprendizado, não deve ser necessariamente complicado; caso contrário o iniciante em programação desistirá cedo de sua carreira que poderia ser bem promissora. Segundo, se o candidato a programador já tem algum conhecimento sobre uma linguagem qualquer, a coisa fica mais tranqüila pois será mais fácil o trabalho de aprendizagem e conscientização sobre a profissão. Sim, a conscientização do profissional é o passo inicial mais importante; ele deve saber de imediato que programar, apesar de não ser difícil, deve ser levado muito a sério e que o estudo e a pesquisa devem ser diários. Deve saber que a Informática é a ciência que evolui mais rapidamente no mundo, e que para estar atualizado na linguagem (ou nas linguagens) escolhida(s) deverá adquirir revistas, livros, periódicos, etc., enfim, tudo que se relaciona com programação na linguagem e também com as outras, pois programação em si não depende de linguagem e sim de lógica. Por exemplo, pode ser que numa publicação sobre uma outra linguagem que não seja a sua ele encontre um algoritmo que resolva seu problema; aí é só codificar na linguagem que conhece.

Por outro lado, o bom profissional não deve ser necessariamente tão "moderninho" (as aspas são intencionais) e sofisticado, a ponto de achar que back-up é sinônimo de xerox (!). Uma coisa que o bom profissional de programação deve perseguir, sempre, é escrever seus programas de maneira clara para ele e para os colegas de trabalho. Criar rotinas com códigos complicados e cheios de subterfúgios inúteis para "esconder" dos outros é atitude mesquinha. Quando o profissional sabe mesmo ele não tem o que temer; mesmo porque se não houver uma documentação adequada do programa, passado algum tempo nem ele mesmo vai entender o que escreveu antes. É claro que a obra do programador deve ser preservada contra possíveis piratas; mas enquanto desenvolvedor numa equipe, a interação com os colegas de projeto deve ser a melhor possível. A manutenção nos programas é coisa rotineira e um dos "abacaxis" que o programador tem de "descascar" a todo momento, pois o usuário sempre está pedindo algo mais; e é ele quem manda, é ele quem paga. Além do mais, os custos de manutenção são os que mais oneram o preço final do software, por isso os programas devem ser criados de modo a não precisarem tanto de manutenções corretivas. Por outro lado, o programador não deve criar um sistema que apenas funcione; o sistema deve ser à prova de bala, deve poder ser estendido de maneira fácil e sem complicações. Por exemplo, se você é programador C use ponteiros só quando for realmente preciso; se for programador Clipper 5.x só use Code Blocks quando for absolutamente necessário, pois senão sua rotina vai ficar parecendo uma macarronada! Se for programador VB sempre declare variáveis e não coloque mais de uma instrução numa mesma linha. Se for Delphi procure escrever a dupla begin... end de modo claro e compreensível. E, o mais importante: use sempre endentação nas estruturas, pois a coisa mais horrível e mais antiprofissional é uma estrutura sem endentação, o código perde toda a elegância.

Mas, afinal de contas, programação é arte ou ciência? Segundo os dicionários, programação significa: "elaboração de um programa para um computador". Disso podemos deduzir, tecnicamente, que programar é o ato de escrever um conjunto de ordens a serem executadas pelo computador para obtermos os resultados desejados. É aí então que alguns dizem que programar depende de criatividade o que seria um dom nato das pessoas. Mas, os programas também necessitam ser eficientes e robustos, pelas razões expostas anteriormente. E com as novas técnicas de desenvolvimento, o programador, mesmo não sendo um artista nato, pode perfeitamente se tornar um grande profissional; basta estudar muito e levar a sério o seu trabalho. Portanto, não existe esse "papo" de super-raça em programação; qualquer um pode ser programador, inclusive você...!