Etapa 1 - Programas de Computador

Programas de Computador

 

Até o momento, aprendemos que programas humanos (ou algoritmos) são apenas sequências de instruções ou comandos para serem executados um após o outro, a fim de realizar alguma tarefa, como trocar um pneu ou assar um bolo. Programas de computador não são muito diferentes. Nós, programadores, temos a missão de escrever instruções e entregá-las ao computador para que ele as execute, uma espécie de passo-a-passo que o computador seguirá do início até o final para resolver um problema para nós. A questão é que os computadores não compreendem muito bem o nosso idioma (ainda). Por isso, os programas devem ser escritos em uma linguagem específica que o computador consiga compreender.  Essa é a famosa Linguagem de Programação.

Uma Linguagem de Programação nada mais é do que uma linguagem especial para escrever instruções que serão seguidas e executadas fielmente pelo computador. Atualmente, encontramos centenas de linguagens diferentes para nos comunicarmos com o computador, dentre as mais comuns temos, C, C++, Java, Javascript, Python, Ruby, LUA (Brasileira), Closure, Dart, etc. Todos os programas que utilizamos são escritos em uma dessas linguagens ou até em mais de uma. Por exemplo, o Windows é um programa escrito predominantemente em C e C++, já o site desta disciplina, https://aprendafazendo.net, foi escrito em Python e Javascript.

Neste curso, aprenderemos a linguagem C para escrevermos nossos programas. A linguagem C é uma das linguagens mais importantes já inventadas, tendo uma infinidade de programas profissionais escritos nela, como o Windows, o Linux, o Android e o Libre Office. Além disso, muitas outras linguagens de programação são baseadas nela, como o C++, o Java e o Javascript por exemplo. 

 

Como o Computador Executa Programas?

 

Como já vimos em Informática Básica, o computador é um dispositivo digital que só compreende conjuntos de zeros (0s) e uns (1s), que chamamos de bits. Portanto, desde os textos que escrevemos até as imagens e vídeos, devem ser convertidos para sequências de 0s e 1s.

Portanto, se quisermos que o computador execute um programa com várias instruções, precisamos que elas sejam convertidas em conjuntos de bits. Imagine como seria difícil escrever todo um passo-a-passo como sequências de zeros e uns? Dessa forma, um simples programa para somar dois números e mostrar o resultado na tela seria bastante complexo, não acha?

Para facilitar a nossa vida, podemos contar com um programa especial chamado Compilador. Sua função é pegar um programa escrito em uma linguagem mais compreensível para nós, humanos, e converter para conjuntos de zeros e uns ao final do processo. Veja a imagem abaixo.

Figura. Código fonte hello_world.c sendo compilado em um arquivo binário hello_world.o. Fonte: https://hpc-wiki.info/hpc/Compiler

 

Na imagem acima, temos um código escrito em linguagem C que apenas imprime o texto “Hello, World!” na tela e encerra. Isso é feito pela função printf(“Hello, World!\n”), que aprenderemos um pouco mais adiante. Esse código encontra-se salvo em um arquivo texto chamado hello_world.c e é passado para um compilador. O compilador, então, converte o código em linguagem C para um código binário, gerando o arquivo hello_world.o. Nesse ponto, podemos executar o programa no computador, pois, ele finalmente está em conjuntos de zeros e uns.

 

Você Sabia?

Alguns compiladores podem gerar o código objeto em uma linguagem chamada Assembly, também chamada Linguagem de Montagem, que apresenta instruções em uma linguagem mais simples do que a binária. Contudo, isso depende do compilador utilizado.