Diferencia entre el programa fuente y el programa objeto

los diferencia clave entre el programa fuente y el programa objeto es que El programa de origen es un programa legible por el usuario escrito por un programador, mientras que el programa de objeto es un programa ejecutable por máquina creado mediante la compilación de un programa de origen.

Los programas fuente se pueden compilar o interpretar para su ejecución. Decompilers ayuda a convertir programas objeto a sus programas fuente originales. Es importante tener en cuenta que los términos fuente y programa objeto se utilizan como términos relativos. Si tomas un programa de transformación de programa (como un compilador), lo que entra es un programa fuente y lo que sale es un programa objeto. Por lo tanto, un programa objeto producido por una herramienta puede convertirse en un archivo fuente para otra herramienta.

CONTENIDO

1. Resumen y diferencia clave
2. ¿Qué es el programa fuente?
3. ¿Qué es el programa objeto?
4. Comparación lado a lado - Programa fuente vs programa objeto en forma tabular
5. Resumen

¿Qué es el programa fuente??

El programador escribe el programa fuente utilizando un lenguaje de nivel superior. Por lo tanto, es fácilmente legible por los humanos. Los programas de origen generalmente contienen nombres de variables significativos y comentarios útiles para que sea más legible. Una máquina no puede ejecutar directamente un programa fuente. Un compilador ayuda a transformar el programa fuente en un código ejecutable para que lo ejecute la máquina. Alternativamente, es utilizar un intérprete. Ejecuta un programa fuente línea por línea sin precompilación.

Figura 01: Un programa fuente

Visual Basic es un ejemplo de un lenguaje compilado, mientras que Java es un ejemplo de un lenguaje interpretado. Los archivos de origen de Visual Basic (archivos .vb) se compilan en un código .exe, mientras que los archivos de origen Java (archivos .java) se compilan primero (mediante el comando javac) a un código de bytes (un código objeto contenido en los archivos .class) y luego se interpretan con el código intérprete java (usando el comando java). Cuando se distribuyen las aplicaciones de software, por lo general no incluyen los archivos de origen. Sin embargo, si la aplicación es de código abierto, la fuente también se distribuye y el usuario puede ver y modificar el código fuente también..

¿Qué es el programa objeto??

El programa objeto es generalmente un archivo ejecutable de máquina, que es el resultado de compilar un archivo fuente usando un compilador. Además de las instrucciones de la máquina, pueden incluir información de depuración, símbolos, información de la pila, reubicación e información de perfiles. Ya que contienen instrucciones en código de máquina, no son fáciles de leer por los humanos. Pero a veces, los programas objeto se refieren a un objeto intermedio entre la fuente y los archivos ejecutables.

Las herramientas conocidas como enlazadores ayudan a vincular un conjunto de objetos en un ejecutable (por ejemplo, lenguaje C). Como se mencionó anteriormente, los archivos .exe y los archivos de código de bytes son archivos de objetos producidos cuando se usan Visual Basic y Java, respectivamente. Los archivos .exe se ejecutan directamente en la plataforma de Windows, mientras que los archivos de bytecode necesitan un intérprete para su ejecución.

La mayoría de las aplicaciones de software se distribuyen solo con el objeto o los archivos ejecutables. Es posible convertir el objeto o los archivos ejecutables de nuevo a sus archivos originales de origen por descompilación. Por ejemplo, las herramientas de descompilador pueden descompilar archivos java.class (bytecode) en sus archivos .java originales..

¿Cuál es la diferencia entre el programa fuente y el programa objeto??

El programa fuente es un programa legible por humanos escrito por un programador. Está escrito en lenguajes de nivel superior, como Java o C. Por lo tanto, un programa fuente es legible para humanos. No es comprensible por la máquina..

Por otro lado, el programa Objeto es un programa ejecutable de máquina creado después de compilar un programa fuente. Contiene idiomas de nivel inferior, como código de ensamblaje o máquina. Por lo tanto, el programa objeto no es legible por el humano. Es comprensible por la máquina..

Resumen - Programa Fuente vs Programa Objeto

La diferencia entre el programa de origen y el programa de objeto es que el programa de origen es un programa legible por el hombre escrito por un programador, mientras que el programa de objeto es un programa ejecutable por máquina creado al compilar un programa de origen.

Referencia:

1. "Código fuente". Wikipedia, Fundación Wikimedia, 17 de mayo de 2018.. Disponible aquí

2. "Código de objeto". Wikipedia, Fundación Wikimedia, 14 de mayo de 2018.. Disponible aquí 

Imagen de cortesía:

1.'CodeCmmt002'By Dreftymac (CCBY 2.5) vía Commons Wikimedia