11.11.2012 Views

Primeira Apostila - Noz Eh Maker

Primeira Apostila - Noz Eh Maker

Primeira Apostila - Noz Eh Maker

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• Compiladores:<br />

Um compilador é um tipo de aplicativo que cria uma “camada de<br />

abstração” entre o programador e o computador. Em outras palavras, o<br />

compilador traduz tudo que é escrito por um usuário de um jeito que a<br />

máquina entenda, e de forma que interprete essa informação.<br />

Em todo o universo computacional, existem várias linguagens de<br />

programação categorizadas da seguinte forma:<br />

• Alto Nível (C++, Java)<br />

• Médio Nível (C, Pascal)<br />

• Baixo Nível (Assembly)<br />

Quanto mais baixo o nível, mais próximo estamos da linguagem de<br />

montagem da máquina. Um exemplo de linguagens de baixo nível que<br />

conhecemos é a linguagem de bits (0 ou 1) e Assembly (que trabalha<br />

diretamente com operações de registros e endereços de memória).<br />

Quando falamos de médio e alto nível, falamos de linguagens que<br />

cada vez mais “encobrem” detalhes na hora de implementar, e quanto<br />

maior o nível, menos detalhes específicos ligados a hardware teremos que<br />

nos preocupar. Por exemplo: se estivermos mexendo com C++, não<br />

precisaremos nos preocupar com qual endereço de memória ou parte física<br />

do disco teremos que guardar a informação. O compilador e a linguagem de<br />

programação se encarregará disso automaticamente.<br />

O compilador cria a “ponte de comunicação” entre uma linguagem<br />

humanamente simples e prática ao ser humano trabalhar, sem perder todo<br />

o excesso de informação e detalhes que a máquina precisa.<br />

Um compilador trabalha passo-a-passo da seguinte forma:<br />

• O compilador lê linha após linha (levando em conta o fluxo de<br />

código), verificando se toda a sintaxe foi descrita corretamente<br />

(se estiver errada, retornará uma mensagem de erro<br />

detalhada ao usuário);<br />

• Traduz o código-fonte de C++ (por exemplo) pra linguagem de<br />

máquina;<br />

• Se tudo for interpretado corretamente, ele irá criar um arquivo<br />

com extensão .OBJ, com todas as linhas traduzidas, e um<br />

arquivo .EXE, que é executado pelo sistema operacional;<br />

Outro aspecto importante são as evoluções na área de<br />

compiladores, que cada dia mais deixam de ser apenas “interpretadores de<br />

comandos”, e se tornam verdadeiros ambientes de desenvolvimento,<br />

trazendo consigo várias opções de compilação, depuração, bibliotecas<br />

prontas etc. Um exemplo de ambientes de desenvolvimento nesse estilo<br />

são aplicativos como o Eclipse e o Microsoft Visual Studio.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!