Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivos:
1
Lenguaje de Programacin C++
Unidad I. Introduccin a la Programacin Orientada a Objetos
y al lenguaje C++
Compiladores/Interpretes
Tomemos como analoga de interpretar al hecho de que en una entrevista realizada en ingls
exista un traductor que nos va diciendo al trmino de cada frase el equivalente al espaol,
mientras que para compilar tomemos como analoga un libro que esta en ingls y se traduce al
espaol, pero no se hacen las entregas parciales, sino que se publica la traduccin hasta que
esta todo traducido.
Compilador Intrprete
Genera un ejecutable No genera un ejecutable
El proceso de traduccin se realiza una sola El proceso de traduccin se realiza en cada
vez. ejecucin.
Una vez compilado el cdigo fuente puede El cdigo fuente es necesario para cada
mantenerse en secreto. ejecucin por lo que no puede estar en
secreto.
El ejecutable va dirigido a un CPU, sistema No hay ejecutable, por lo que siempre se
operativo, por lo que es necesario compilar en interpreta en cada computadora que se
cada plataforma. ejecuta.
La ejecucin es muy rpida debido a que el La ejecucin es ms lenta, ya que para cada
programa ya ha sido traducido a cdigo lnea se debe hacer la traduccin
mquina.
El programa compilado puede ser distribuido Se requiere el intrprete para ejecutar el
en base al mismo SO. programa.
2
Lenguaje de Programacin C++
Unidad I. Introduccin a la Programacin Orientada a Objetos
y al lenguaje C++
Nuestro curso es un claro ejemplo de lenguajes que requieren compilacin: C o C++. Ejemplos
de lenguajes de programacin que requieren de intrpretes son Python y PHP, estos son
ampliamente utilizados e igualmente interesantes para su estudio.
Tenemos el caso de Java que es un poco distinto de lo mencionado hasta ahora. Tiene dos
fases, en la primera se toma el programa fuente y se compila, pero el resultado es un archivo
.class (byte-code). Dicho archivo se distribuye a las diferentes plataformas y es interpretado
por Java Virtual Machine, es decir, toma cada lnea .class y la ejecuta en la computadora.
Para la mayor parte de los lenguajes ms populares, como es el caso de C++, hay una gran
cantidad de compiladores. Esto se debe principalmente a dos razones, la primera es que hay
mltiples formas de traducir un programa a lenguaje mquina y, segn como se haga, los
programas pueden ser ms o menos eficientes. La segunda razn es que los compiladores
deben adaptarse para las diferentes arquitecturas. Muchos compiladores se pueden conseguir
gratuitamente, otros sin embargo, son productos comerciales.