Galera, no nosso dia a dia, utilizamos programas de computadores para os mais diversos fins, seja para nos auxiliar em nosso trabalho, seja para usos pessoais.

Podemos dizer que um programa de computador é um conjunto de instruções que:

  • Possui um determinado fim, por exemplo, o Photoshop para edição de imagens; e
  • É executado por um processador.

Mas para haja essa execução pelo processador, o programa precisa estar em uma linguagem que o processador possa entender: a linguagem de máquina. Ela é composta apenas de 0 e 1.

– Pow, Rogerão, mas como vamos programar escrevendo apenas 0 e 1? Tu é doido, macho?

Teoria

Calma, pequeno gafanhoto, não precisamos ter conhecimento de linguagem de máquina para escrever nossos programas. Para nosso trabalho como desenvolvedores de software, utilizamos linguagens de alto nível, como, por exemplo, a própria linguagem Java.

Bom, pessoal, programar já não é uma tarefa tão fácil e programar escovando bits, quase impossível humanamente!

Apenas para entendermos:

  • Quanto mais semelhante uma linguagem for da de máquina:
    • Mais baixo é o nível dessa linguagem; e
    • Menos legível é para o ser humano;
  • Quanto mais “distante” uma linguagem for da de máquina:
    • Mais alto é o nível dessa linguagem; e
    • Mais legível é para o ser humano.

– Rogerão, mais uma dúvida: se o processador apenas reconhece a linguagem de máquina, como ele irá executar um programa escrito em uma linguagem de alto nível?

Perfeito, meu fi dos outros! Explicarei a você!

Neste momento, entram em ação dois cabocos:

  • Batman (compilador); e
  • Robin (editor de ligação).
Batman e Robin.

Batman e Robin.

Então o processo de compilação é o seguinte:

  • Um programa-fonte em linguagem de alto nível;
  • É compilado e então gerado um programa-objeto em linguagem de máquina, porém ainda não executável;
  • O linker por sua vez recebe esse programa-objeto e o transforma em um programa em linguagem de máquina executável para uma plataforma específica;
  • Como uma linguagem de máquina de uma plataforma às vezes difere de outra, precisaremos de um compilador e de um linker específicos para que um programa-fonte possa ser traduzido em na linguagem de máquina própria de uma plataforma;
    • Ou seja, para cada universo paralelo (plataforma), precisaremos de uma dupla Batman e Robin.
Compilação de programas.

Compilação de programas.

– Rogerão, é assim também quando utilizando a tecnologia Java?

Não, senhor! A linguagem Java possui várias características-chave e uma delas é justamente a portabilidade. Como o Java oferece isso? É o que vamos ver na parte II.

Questão

[FGV 2010 DENTRAN/RN – Programador – Questão 24] As etapas realizadas durante a programação em uma  linguagem de alto nível, para se gerar um código executável, são:

  • [A] Programa fonte, compilação, interpretação, ligação, código executável.
  • [B] Programa fonte, compilação, código-objeto, ligação, código executável.
  • [C] Programa fonte, interpretação, código-objeto, ligação, código executável.
  • [D] Programa fonte, montagem, compilação, código-objeto, código executável.
  • [E] Programa fonte, montagem, código-objeto, ligação, interpretação.

Como vimos na teoria, temos:

  • Programa fonte em linguagem de alto nível;
  • Compilamos o programa fonte;
  • O programa-fonte é transformado em código-objeto;
  • O ligador gera, a partir de um código-objeto ou mais, um código executável.

Gabarito: letra B.

Ei, galera do Lakers! O que acharam da performance da dançarina?

Dançando como se ninguém tivesse olhando! :D

Dançando como se ninguém tivesse olhando!😀

Isso se o time do Lakers não estiver olhando!

Isso se o time do Lakers não estiver olhando!

[]s e até a próxima!

_________________________
Sou eu!!!Rogério Araújo

Blog: https://rogerioaraujo.wordpress.com/
Gmail: rgildoaraujo@gmail.com
Twitter: http://twitter.com/rgildoaraujo
LinkedIn: http://br.linkedin.com/in/rgildoaraujo
Grupo de estudo no TIMasters 2.0: http://timasters.ning.com/group/dev