1.3. Código fuente y proceso de traducción

código fuente de un programa
Código fuente de un programa.
Imagen de Wikipedia con licencia CC

Anteriormente, ya hemos comentado que la CPU sólo entiende el lenguaje máquina. Este, para cada máquina concreta, está compuesto por instrucciones en formato binario (0 ó 1).

El programador, para hacer esta tarea más sencilla y productiva, partiendo de un algoritmo emplea lenguajes de programación de alto nivel para construir un programa informático, generando lo que se llama programa fuente. Este código fuente no es directamente entendible por la máquina, es necesario un proceso de traducción para convertir dicho programa a otro lenguaje que sí pueda ser entendido por la CPU en la que vamos a trabajar: es necesario convertirlo en el programa objeto.

Esta traducción o conversión se puede hacer de dos formas distintas que se denominan interpretación o compilación. Por tanto, existen dos herramientas encargadas de realizar cada tipo de traducción, estos son, los intérpretes y los compiladores.

1. Intérpretes:

Un programa interpretado es aquel que se ejecuta línea a línea y cada vez que se quiere ejecutar preciso volver a interpretarlo.

Un intérprete es por tanto un programa que convierte o traduce un programa, línea a línea, o sentencia a sentencia de una forma secuencial, es decir, cada instrucción es traducida una vez traducida la instrucción anterior; así traducción y ejecución se realizan conjuntamente. La principal ventaja de esta forma de trabajar es que la ejecución es inmediata, así pueden corregirse posibles errores que vayan surgiendo durante el proceso y continuar a partir de ese punto.

  • Ejemplos de lenguajes interpretados son: JavaScript, Perl, PHP, Pyton, Lisp, Scheme, R, HTML.

2. Compiladores:

Programa compilado.- el programa se genera como un todo y una vez obtenido el programa objeto, ya no hay que compilarlo a no ser que haya una modificación en el programa fuente.

Un compilador es un programa, que a partir del todo código fuente genera lo que se llama el código objeto en lenguaje máquina. Así, este proceso lo realiza en dos fases independientes, la primera traduciendo completamente el programa fuente a código máquina y la segunda ejecutando dicho código máquina u objeto.

  • Ejemplos de lenguajes compilados son: C, C++, C#, COBOL, Delphi, Fortran, Pascal.

El proceso de compilación requiere más tiempo que en un intérprete, sin embargo, una vez traducido, la ejecución es más rápida al trabajar directamente con el código máquina.

Comprueba lo aprendido

Repasa las definiciones anteriores y elige la opción correcta. 

1) Un conjunto de instrucciones ordenadas secuencialmente se llama:

a) Programa fuente b) Programa objeto c) Programa

2) Cuando el programa fuente que se traduce como un todo se llama:

a) Compilado b) Interpretado c) Algoritmos

3) Cuando el programa fuente que se traduce línea a línea se llama:

a) Compilado b) Interpretado c) Ejecutable

 

Habilitar JavaScript

Para saber más

Los lenguajes de programación están en constante evolución y su uso varía en función de la demanda de los programadores. Si te interesa saber cuáles son los lenguajes más utilizados, en el siguiente enlace encontrarás gráficos actualizados mensualmente.

Estos gráficos se publican en la revista Tiobe Software y se realizan basándose es aspectos tales como el número de ingenieros cualificados en todo el mundo que utiliza cada lenguaje, los cursos que se ofertan y los proveedores.

gráfico uso de lenguajes

Gráfico uso de lenguajes de programación.
Imagen de Tiobe Software