quinta-feira, 15 de outubro de 2009

O início do começo... Parte I

Agora que já foram esclarecidos alguns pontos; vamos ao que interessa!
C/C++ são linguagens de programação de computadores.
Linguagem? Programação? Computadores? Hã!?
Pra entender o que é isso, vamos ao começo. Ou melhor, ao final.

Computador: Isso eu sei o que é! Será?
Segundo a Wikipédia, computador "é uma máquina capaz de variados tipos de tratamento automático de informações ou processamento de dados."
Não é só essa máquina que está na sua frente, que você usa pra conversar no MSN ou 'fuxicar' no orkut alheio! Pode ser qualquer máquina que faça processamento de dados. Ficou fácil agora,né?
E o que é processamento de dados? De forma simplificada, processamento de dados é a retirada de informações úteis de um amontoado de informações qualquer.
É quando você fornece informações (entrada) e a máquina te dá um resultado destas informações (saída) de forma automática.
Uma calculadora é um computador! Isto é verdade?
Vamos aplicar a definição de computador para verificar se é ou não?
Para fazer uma multiplicação, por exemplo; como se deve proceder?
1º _Digite o 1º número;
2º _Pressione a tecla *;
3º _Digite o 2º número;
4º _Pressione a tecla =;
5º_O resultado da multiplicação vai aparecer na tela.
Do 1º ao 4º passo, são fornecidas informações (entrada). Após a finalização da entrada, automaticamente, a calculadora apresenta o resultado (saída).
Então, é verdade. A calculadora é um computador! (Você pode dar outros exemplos de computador? Comenta aí, povo!)
Mas, como isso é feito? Mágica? Voodoo? Ocultismo? NÃO!
É aí que entra a nossa próxima palavra (próxima não, anterior; já que estamos indo do fim para o começo).

Programação: Antes de explicar o que é programação, tenho algo chocante a revelar!
A calculadora, que usamos como exemplo para explicar o que é um computador NÃO SABE FAZER CONTAS!!!
Não só ela, como todas as outras calculadoras, e todos os computadores que conhecemos. (Não pare de ler ainda. Não estou delirando, nem fiquei louco.)
Antes que você pegue a sua calculadora, e jogue na parede, preste atenção ao que eu disse exatamente.
Eu disse que ela não SABE fazer contas. Não falei que as contas que são feitas nela estão erradas (isso se ela está funcionando como deveria). Confundi? Vamos 'desconfundir'.
Um computador não tem a capacidade de aprender (ainda). Portanto, não tem como saber nada. Só sabe quem aprende!
Então, como ele faz as coisas se não sabe? Resposta: Da mesma forma que você faz uma receita que viu na TV (confundi ainda mais rsrs).
Explico: Alguém vai dizendo o que fazer, e você vai fazendo, da forma que foi dito (simples,né?). A forma de dizer para o computador o que ele deve fazer, é chamada de programação (garanto que essa você já sabia!).
Voltando à calculadora... Quando o homem inventou (descobriu) a forma de multiplicar números, nem se imaginava (ou imaginava rsrs) o que seria uma calculadora. Quando a calculadora foi inventada, alguém 'disse' para ela o que deveria fazer quando a entrada fosse multiplicação (*).
Entendido até aqui? Alguma pergunta? Ou você está imaginando uma sala secreta onde alguém pega uma calculadora e 'fala' no 'ouvido' dela: "Quando for digitado *, é para multiplicar."?

Linguagem:
Houve uma época da minha vida em que eu andava com um grupo de pessoas que tinha muito a esconder. Ninguém podia saber o que se falava entre eles. Para conversar, sem que ninguém soubesse o que se falava, só usando a 'gualin do teteca'? Deutenen? (língua do catete: uma forma de falar trocando a ordem das sílabas das palavras, tem esse nome porque foi inventada num bairro carioca chamado Catete).
Só entendia a conversa, quem sabia falar daquela forma. Isso é um exemplo de linguagem.
Da mesma forma, o computador tem a sua própria linguagem. E ele só entende essa linguagem.
Para 'dizer' o que ele tem que fazer, só falando do jeito que ele entende.
Então, C/C++ é a linguagem do computador? A resposta é NÃO.
C/C++ é um meio termo entre a linguagem humana e a linguagem do computador. O que se 'diz' em C/C++ tem que ser 'traduzido' para a linguagem do computador. O que é feito por um compilador. Mas isso é assunto para outra conversa.

Continua...

2 comentários: