Desmistificando a programação

Para você, que está iniciando ou se interessa em programação, mas acha que isso é coisa de outro mundo, eu tenho uma notícia muito boa: Pode parecer difícil, mas na verdade não é. A complexidade de um sistema começa a surgir na integração de suas partes, não exatamente em programá-lo. Este tópico é muito interessante para quem está começando agora a interessar-se por programação, e vai lhes dar uma noção do que é um programa de computador, e inclusive vai lhe dar as instruções parar fazer um programinha bem simples, que pode ser executado em qualquer navegador de internet ( Web Browser ) instalado no seu computador.

Cada linguagem de programação é apenas um dialeto de instruções, que possui uma gramática e sintaxe próprias, como se fosse um outro idioma. No final das contas, visto de forma muito simplista, um programa de computador não passa de uma lista de instruções para ler, transformar ( ou processar ) informações, composta de instruções e recursos fornecidos por uma linguagem ou ambiente, para realizar uma tarefa.

Há quase 20 anos atrás, tive a oportunidade de ministrar aulas de Informática, foi um capítulo a parte na minha vida de programador, muito gratificante ao ver como os alunos admiraram a simplicidade da abordagem dos conceitos de programação e a satisfação minha e deles de entender como um programa de computador funciona.

Um ex-professor e amigo meu, Sr. Regginato, foi um dos professores que me introduziu no mundo do IBM-PC e dos conceitos da informática e do processamento de dados, em uma escola que ele montou junto com sua esposa em Botucatu, interior de São Paulo. Acho que foi dele a frase “Programar um computador é como escovar os dentes.”

Parece loucura, mas é exatamente isso. Imagine que você precise escrever uma lista de passos para ensinar uma pessoa a escovar os dentes. como você faria ? Naturalmente, você deverá criar uma espécie de manual com os passos para realizar esta tarefa, com um mínimo de detalhes que tornem o processo intuitivo, e naturalmente escrito em um idioma que a pessoa conheça. Por exemplo:

Para escovar os dentes:

1) Vá até o banheiro, abra o espelho e localize a sua escova de dentes.
2) Verifique se a escova de dentes está no espelho.
3) Caso não esteja, verifique se ficou sobre a pia.
4) Verifique se têm pasta de dentes no banheiro, e se têm água na pia.
5) Caso algum dos itens acima não esteja pronto para uso, não é possível escovar os dentes.
6) Pegue a escova de dentes, abra a torneira e molhe um pouco a cabeça da escova.
7) Pegue a pasta de dentes, abra-a e posicione a saída do tubo na cabeça da escova.
8) Pressione um pouco o final do tubo até que saia pasta suficiente para colocar sobre as cerdas da escova.
9) Feche a pasta de dentes e guarde-a no espelho.
10) Insira a escova na boca, e espalhe a pasta na sua arcada dentária inferior.
11) Esfregue a escova entre a arcada superior e inferior, cerrando os dentes para facilitar a operação.
12) Esfregue lateralmente as arcadas superior esquerda e direita, inferior esquerda e direita e a parte frontal superior e inferior.
13) Repita o passo 12 por duas vezes.
14) Durante o processo, respire pelo nariz para não engolir pasta de dentes ou a espuma deixada pelo processo de escovação.
15) Cuspa o excesso de pasta e espuma na pia.
16) Abra a torneira, pegando a água com uma das mãos, e leve à boca para enxaguar.
17) Bocheche a água para limpar a pasta e cuspa a água com pasta na pia.
18) Volte ao passo 16 e repita-o por duas vezes.
19) Lave a escova de dentes, tirando as sobras de pasta e espuma.
20) Feche a torneira, e guarde a pasta no espelho.
21) Pronto, seus dentes estão escovados.
22) Repita a operação de escovação sempre após as refeições.

Para nós é uma coisa simples, mas descrever a lista de tarefas e passos para escovar os dentes incluem muitos detalhes que nós não prestamos mais a atenção, pois aprendemos isso desde pequenos e sabemos de cor e salteado. A lista de tarefas acima foi escrita em uma linguagem que nós chamamos de “Linguagem Natural”. Programar um computador basicamente é criar uma lista de instruções, a qual chamamos de “programa”, escrito em uma linguagem ou dialeto que a linguagem entende, para que o computador execute a lista de instruções quando você solicitar a ele a “execução” do programa.

Vamos ver agora um exemplo mais simples: Como fazer uma operação de soma de números inteiros em uma folha de papel:

1) Usamos uma folha de um caderno, e escrevemos os dois ou mais números a serem somados alinhados à direita
2) Após escrever os números, passe um traço sob o último número. Abaixo deste traço será escrito o resultado da soma.
3) considere a coluna mais à direita na vertical, e some todos os números dessa coluna.
4) Caso a soma dos números resulte em um número menor ou igual a nove, escreva este número na ultima coluna em baixo do traço.
5) Caso o número seja maior do que nove, escreva na última coluna da direita abaixo do traço o último digito à direita do resultado calculado, e copie o dígito da esquerda do resultado na coluna imediatamente anterior, na linha em branco antes do número.
6) Repita a operação a partir da etapa 03, considerando agora a coluna anterior (à esquerda) da ultima coluna calculada, levando em conta que caso tenha sido escrito um número na linha superior vindo da soma da ultima coluna, este número deve ser considerado na operação.
7) Ao realizar a operação até a primeira coluna, caso algum digito adicional tenha sido colocado na coluna anterior, ele deve ser copiado para baixo, no resultado.

Agora vamos executar este procedimento, usando os números 12444, 312 e 9644.

  12444
+   312
+  9644
 -------

No nosso exemplo, 4 + 2 + 4 = 10, logo copiamos o zero na ultima coluna da linha do resultado, e o numero 1 na coluna anterior, na linha imediatamente superior aos números a serem somados.

    1
 12444
+  312
+ 9644
-------
     0

Agora, voltamos na etapa 3 e somamos 1+4+1+4 ( 10 novamente), copia o zero no resultado e joga o um na coluna da esquerda na linha superior

   11
 12444
+  312
+ 9644
-------
    00

Agora somamos a terceira coluna, 1+4+3+6 ( 14 ), copia o 4 pra baixo e o um na coluna da esquerda na linha superior.

  111
 12444
+  312
+ 9644
-------
   400

Ao somar a quarta coluna, ignoramos os espaços em branco das colunas que não tem número, e somamos 1+2+9 ( 12 ). Copia o dois pra baixo, e o um na coluna da esquerda na linha superior.

 1111
 12444
+  312
+ 9644
-------
  2400

E agora, por ultimo, somamos a coluna anterior ( nossa última coluna com números), 1+1 (2) e copiamos o resultado para baixo.

 1111
 12444
+  312
+ 9644
-------
 22400

E chegamos ao resultado 22400. Pode fazer na calculadora, vai dar o mesmo resultado …rs…

Agora, vamos fazer um programa de computador para somar três números. Vou escolher uma linguagem script, que qualquer Browse de internet possa executar. Usando uma máquina com qualquer versão do Windows, abra o bloco de notas do seu computador, e crie um novo arquivo de texto. Chame-o de “exemplo.html”, e salve-o na sua pasta de documentos.

Agora, cole o conteúdo abaixo dentro deste arquivo:

// <![CDATA[
a = 12444;
b = 312
c = 9644;
d = a+b+c;
alert("Resultado = "+d);
// ]]>

Salve o arquivo, ele tem que ter a extensão HTML, então execute o arquivo clicando duas vezes em cima do nome do arquivo na sua pasta de documentos. O Windows vai verificar qual é o programa usado como padrão para navegação WEB, capaz de abrir e mostrar páginas HTML, e chamá-lo para mostrar o conteúdo do arquivo. Como o arquivo contém um script, o navegador sabe o que o script singifica e vai executá-lo. Seu resultado em tela deve ser uma mensagem parecida com a imagem abaixo:

Featured image

Traduzindo o script acima: utilizamos algumas letras do alfabeto para receber valores. A recebe o valor 12444, B recebe o valor 312 e C recebe 9644, e D recebe o resultado da soma dos conteúdos de A com B com C, e por último chamamos uma função da linguagem JavaScript para mostrar o resultado em uma janela na tela do Browser.

Tão simples quanto isso 🙂

Se você chegou até aqui e fez o exemplo acima, meus parabéns, você fez um pequeno programa de computador! Não foi necessário refazer toda a sequência de operações que teríamos de fazer ao somar um numero no papel, afinal a linguagem utilizada oferece operadores aritméticos prontos com estas funcionalidades. Para executar este programa, internamente o browser chamou um interpretador, que traduziu o programa para chamar instruções específicas do processador da sua máquina, para ler os conteúdos dos números e somá-los.

A partir de um exemplo simples, também conhecido como ‘Hello world’, iniciamos a construção de programas mais complexos, utilizando mais funções da linguagem escolhida, funções que permitem perguntar valores ao usuário da maquina, ou obter valores em um formulário, desenhar uma janela com botões e escrever as ações que cada botão deve executar, ler e gravar informações em um arquivo no disco ou em um Banco de Dados, etc. A maioria das linguagens de desenvolvimento de mercado permitem estes tipos de operação, cada uma do seu jeito particular, a complexidade do programa tende a crescer de acordo com a quantidade de dados e complexidade do processo a ser realizado com estes dados.

Até o próximo post !!

Anúncios

5 comentários sobre “Desmistificando a programação

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s