principal contenidos --> editor indice


Un poco de historia

Lenguajes de programación

Programas fuente y objeto

Traductores de programas











Un poco de historia

El lenguaje de programación Pascal es un lenguaje de alto nivel y propósito general (aplicable a una gran cantidad de aplicaciones diversas) desarrollado por el profesor suizo Niklaus Wirth (Instituto tecnológico de Zurich, Suiza). El propósito de Wirth era crear un lenguaje para la enseñanza de técnicas de programación a estudiantes universitarios. Pero a medida que pasaban los años, Pascal se iba convirtiendo en un estándar en el mundo de la programación.

Una versión preliminar del lenguaje apareció en 1968 y el primer compilador totalmente completo apareció a finales de 1970. Desde entonces, muchos compiladores han sido construídos y están disponibles para diferentes máquinas. Durante muchos años, el libro Pascal User Manual and Report , publicado por Wirth y Kathleen Jensen en 1974, ha servido de facto como estándar de todas las versiones.

Las diferentes versiones ofrecían iterpretaciones ligeramente diferentes que impedían la compatibilidad entre ellas. Por estas razones, diferentes proyectos se iniciaron para producir una definición estándar del lenguaje y culminaron en dos estándar: uno de la Internacional Standard Organization (ISO) en 1982 y otro por un comité conjunto del American National Standards Institute (ANSI) y del Institute of Electrical and Electronics Engineers (IEEE). Estas dos versiones o definiciones se conocen como ISO Pascal y ANSI/IEEE Pascal, y difieren en algunos aspectos no especialmente significativos. Sin embargo, una versión no estándar se ha popularizado considerablemente: Turbo Pascal (marca registrada por Borland International, Inc.). Esta versión ha contribuido en gran medida a la popularización del lenguaje Pascal.


Volver al inicio de la página
Pasar al siguiente apartado sobre lenguajes de programación

 











Lenguajes de programación

Un lenguaje de programación permite al usuario crear programas que serán entendidos por el ordenador (directa o indirectamente) con el objetivo de realizar alguna tarea.

A grandes rasgos podemos clasificar los lenguajes de programación en tres categorías: máquina, bajo nivel (ensamblador) y alto nivel.

 

Lenguaje máquina

Los lenguajes máquina son aquellos cuyas instrucciones son directamente entendibles por el ordenador sin la necesidad de traducción alguna. Sus instrucciones no son más que ristras de ceros y unos (bits). Estas especifican la operación a realizar, los registros del procesador y celdas de memoria implicados, etc.

Obviamente, este tipo de lenguajes serán fáciles de comprender para un ordenador pero muy difíciles para el hombre. Esta razón nos lleva a buscar otro lenguaje para comunicarnos con el ordenador.

 

Lenguajes de bajo nivel (ensamblador)

La progración en lenguaje máquina es difícil, por ello se necesitan lenguajes que permitan simplificar este proceso. Los lenguajes de bajo nivel han sido diseñados para este fin.

Estos lengujes son generalmente dependientes de la máquina, es decir, dependen de un conjunto de instrucciones específicas del ordenador. Un ejemplo de este tipo de lengujes es el ensamblador. En él, las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos (generalmente, abreviaturas de palabras inglesas).

Las palabras mnemotécnicas son mucho más fáciles de recordar que las secuencias de ceros y unos. Una instrucción típica de ensamblador puede ser:

ADD x,y,z
Esta instrucción significaría que se deben sumar los números almacenados en las direcciones de memoria x e y, y almacenar el resultado en la dirección z. Pero aún así, a medida que los programas crezcan en tamaño y complejidad, el ensamblador sigue sin ser una buena solución. Pasemos entonces a los lenguajes de alto nivel.

 

Lenguajes de alto nivel (Pascal)

Los lenguajes de alto nivel son aquellos en los que las instrucciones o sentencias son escritas con palabras similares a las de los lenguajes humanos (en la mayoría de los casos, el Inglés). Esto facilita la escritura y comprensión del código al programador.

Existen muchos lenguajes de alto nivel, por citar algunos:

A continuación se presenta una instrucción de Pascal:

if (x=y) and (z=w) then write('Esto es una prueba');
Si se tienen unos conocimientos mínimos del Inglés, esta línea tiene una comprensión muy fácil: "Si el contenido de x es igual al contenido de y, y el contenido de z es igual al contenido de w, entonces escribe Esto es una prueba".

Los programas escritos en lenguaje de alto nivel no son entendibles directamente por la máquina. Necesitan ser traducidos a instrucciones en lenguaje máquina que entiendan los ordenadores. Los programas que realizan esta traducción se llaman compiladores, y los programas escritos en lenguajes de alto nivel se denominan programas fuente.



Volver al inicio de la página
Pasar al siguiente apartado sobre programas fuente y objeto

 











Programas fuente y objeto

Un programa puede ser definido como un conjunto de instrucciones que pueden someterse como unidad a un ordenador y utilizarse para dirigir el comportamiento de éste.

Aquí no vamos a profundizar en todos los tipos de programas, ni a realizar una clasificación exhaustiva. Solamente mencionaremos los dos tipos que nos interesan en programación: los programas fuente y los objeto.

Un programa fuente es aquel que nos permite escribir un algoritmo mediante un lenguaje formal. Por eso al código desarrollado al programar se le llama código fuente.

Un programa objeto es el resultado de traducir un programa fuente para obtener un lenguaje comprensible por la máquina.



Volver al inicio de la página
Pasar al siguiente apartado sobre traductores de programas

 











Traductores de programas

Los traductores son un tipo de programas cuya función es convertir el código de un lenguaje en otro. Por ejemplo un compilador, que traduce código fuente en código objeto. Existen distintos tipos de traductores, entre ellos destacan:

Ensambladores
Es un tipo de traductor que convierte programas escritos en lenguaje ensamblador en programas escritos en código máquina.

Preprocesadores
Traduce un lenguaje de alto nivel a otro, cuando el primero no puede pasar a lenguaje máquina directamente.

Intérpretes
Se trata de traductores-ejecutores ya que con cada instrucción realizan un proceso triple de lectura-traducción-ejecución. Son relativamente lentos, pero muy buenos para la depuración de programas.

Compiladores
Es el tipo de traductor más conocido. Se trata de un programa que traduce código fuente escrito en un lenguaje de alto nivel (Pascal) en código máquina (no siempre). Son más rápidos que los intérpretes pero presentan mayor dificultad a la hora de detectar errores.


Volver al inicio de la página
Volver al punto anterior sobre programas fuente y objeto