1. Código Fonte :
Código fonte refere-se ao código de alto nível ou código de montagem que é gerado pelo humano/programador. O código fonte é fácil de ler e modificar. É escrito por programador usando qualquer linguagem de alto nível ou linguagem intermediária que seja legível por humanos. Código fonte contém comentários que o programador coloca para melhor compreensão.
Código fonte é fornecido ao tradutor de linguagem que o converte em código compreensível por máquina, que é chamado código de máquina ou código objeto. O computador não consegue entender o código fonte direto, o computador entende o código da máquina e o executa. É considerado como componente fundamental do computador. Em simples podemos dizer que código fonte é um conjunto de instruções/comandos e declarações que é escrito por um programador usando uma linguagem de programação de computador como C, C++, Java, Python, linguagem Assembly, etc. Assim, declarações escritas em qualquer linguagem de programação são denominadas como código fonte.
2. Object Code :
Object code refere-se a código de baixo nível que é compreensível por máquina. O código objeto é gerado a partir do código fonte após passar pelo compilador ou outro tradutor. Ele está em formato de código executável de máquina. O código objeto contém uma seqüência de instruções compreensíveis por máquina para a qual a Unidade Central de Processamento entende e executa.
Objeto contém código objeto. Ele é considerado como mais um código de máquina. Alguns exemplos de arquivo objeto são arquivos de formato comum (COFF), arquivos COM e arquivos “.exe”. É a saída de um compilador ou outro tradutor. Podemos compreender o código fonte mas não podemos compreender o código objecto pois não está em texto simples como código fonte mas sim em formatos binários.
A figura abaixo ilustra o código fonte e o código objecto :
Diferença entre código fonte e código objecto :
S.No. | SOURCE CODE | OBJECT CODE | |
---|---|---|---|
Código fonte é gerado por humano ou programador. | Código objeto é gerado por compilador ou outro tradutor. | ||
Código fonte é código de alto nível. | Object code is low level code. | ||
Source code is written in plain text by using some high level programming language. | Object code is translated code of source code. Está em formato binário. | ||
Código fonte é compreensível para humanos. | Código fonte não é compreensível para humanos. | ||
Código fonte não é directamente compreensível por máquina. | Código do objeto é compreensível por máquina e executável. | ||
É escrito em linguagem de alto nível como C, C++, Java, Python etc ou linguagem assembly. | É escrito em linguagem de máquina através de compilador ou assembler ou outro tradutor. | ||
Pode ser facilmente modificado. | Não pode ser modificado. | ||
Contém comentários para melhor compreensão por parte do programador. | Não contém comentários para compreensão por máquina. | ||
Contém menos declarações do que o código objecto. | Contém mais declarações do que o código fonte. | ||
Está menos próximo de máquina. | Está mais próximo de máquina. | ||
Desempenho do código fonte é menor do que o código objeto, pois está menos próximo de máquina. | Desempenho do código objecto é mais do que o código fonte pois está mais próximo de máquina. | ||
Código fonte é input para compilador ou qualquer outro tradutor. | Código do objeto é a saída do compilador ou de qualquer outro tradutor. | ||
Código fonte não é específico do sistema. | Código do objeto é específico do sistema. | ||
Pode ser alterado ao longo do tempo. | Código fonte precisa ser compilado ou traduzido por qualquer outro tradutor para obter código objeto modificado. |