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).
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.
– 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?
[]s e até a próxima!
_________________________
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




ROGRIO, QUE DOIDERA ESSA……………………Ilene.
Date: Sun, 6 Jan 2013 15:51:31 +0000 To: mariaflo_simao@hotmail.com
Poxa! Não gostou, Ilene? =(
kkkkkk acho que ela estava falando dos gifs kkkkkkk
Pingback: Java: Compilação de classes Java – Parte II « Rogério Araújo
Nossa rogério eu odeio programação, mas vc faz parecer tão mais facil, eu entendi isso agora coisa que não consegui aprender na faculdade, valeu. Vc é 10.
Que ótimo que você gostou, Tássia! =) Que bom que fiz diferença para você e para outros estudantes. Abraços!