Sei sulla pagina 1di 34

Introducción a la Programación

LENGUAJES DE PROGRAMACIÓN, INTERPRETES Y COMPILADORES

I ng. Ci ndy García Pérez


Objetivos de la Clase
Conocer que es un lenguaje de programación y sus tipos:
Lenguaje de maquina
Lenguaje de bajo nivel
Lenguaje de alto nivel

Saber las diferencias entre un interprete y un compilador.

Fases de la compilación.
Historia de los lenguajes de programación
La Biblia de los lenguajes ha sido una constante en el
desarrollo de la industria del software y en los avances
científicos y tecnológicos.
Desde el año 1642 en que Blaise Pascal, inventó La Pascalina,
una máquina que ayudaba a contar mediante unos dispositivos
de ruedas, se han sucedido numerosos inventos que han ido
evolucionando, a medida que se programaban mediante
códigos de máquina, lenguajes ensambladores, hasta llegar a los
lenguajes de programación de alto nivel en los que ya no se
dependía del hardware de la máquina sino de la capacidad de
abstracción del programador y de la sintaxis, semántica y
potencia del lenguaje.
Historia de los lenguajes de programación
En la década de los cincuenta, IBM diseñó el primer lenguaje de
programación comercial de alto nivel y concebido para resolver
problemas científicos y de ingeniería (FORTRAN, 1954). Todavía hoy,
muchos científicos e ingenieros siguen utilizando FORTRAN en sus
versiones más recientes FORTRAN 77 y FORTRAN 90.

En 1959, la doctora y almirante, Grace Hopper, lideró el equipo que


desarrolló COBOL, el lenguaje por excelencia del mundo de la gestión
y de los negocios hasta hace muy poco tiempo.
Historia de los lenguajes de programación
Lenguaje de programación
Un lenguaje de programación consiste en un conjunto de
órdenes o comandos que describen el proceso deseado.
Describe el conjunto de acciones consecutivas que un equipo
debe ejecutar.
Es un modo practico para que los seres humanos puedan dar
instrucciones a un equipo.
A cada instrucción le corresponde una acción de procesador.
Lenguaje de programación
Cada lenguaje tiene sus instrucciones y enunciados verbales
propios, que se combinan para formar los programas de
cómputo. Los lenguajes de programación no son aplicaciones,
sino herramientas que permiten construir.
Un lenguaje de programación consiste en un conjunto de
órdenes o comandos que describen el proceso deseado.
El lenguaje utilizado por el procesador se denomina lenguaje
maquina.
Lenguaje de maquina
La programación se efectuaba en el único lenguaje que
entiende el microprocesador: su propio código binario de ceros
y unos
La programación en lenguaje máquina resulta muy lenta y
tediosa, pues los datos e instrucciones se deben introducir en
sistema binaria, obligando conocer las posiciones de memoria
donde se almacenan los datos.
Este tipo de programación con lleva gran número de errores y
la tarea de depuración exige bastante tiempo y dedicación.
Ejercicio 1: Convierte a binario o decimal según
sea el caso
a) 10000 (2)
b) 110011 (2)
c) 4568 (10)
d) 587 (10)
Ejemplo
Mover el contenido del registro 4 al registro 8

se podía expresar en lenguaje máquina como:


0010 0000 0010 1000

MOV R4, R8
Lenguaje de bajo nivel
La siguiente evolución en programación vino con la idea de
reemplazar el código binario por instrucciones y direcciones con
símbolos o mnemónicos.
 Debido a que utilizaban símbolos, estos lenguajes fueron
primeramente conocidos como lenguajes simbólicos. El
conjunto de estos lenguajes mnemónicos fueron mas tarde
conocidos como lenguajes ensambladores.
El lenguaje ensamblador para nuestro ordenador hipotético
que reemplaza el lenguaje de maquina se muestra en la
siguiente tabla.
Mnemónicos: l i sta de i nstrucciones
Lenguaje de bajo nivel
El lenguaje ensamblador representa las acciones del
ordenador mediante pequeñas abreviaturas de palabras en
inglés.

Lenguaje Ensamblador consiste en asociar a los opcodes


palabras clave que faciliten su uso por parte del programador.

Requiere de muchas instrucciones para realizar simples


operaciones.
Lenguaje de alto nivel
Para acelerar aun más el proceso de programación se
desarrollaron los lenguajes de alto nivel, en los que se puede
escribir un sólo enunciado para realizar tareas sustanciales.
Los lenguajes de alto nivel permiten a los programadores
escribir instrucciones que asemejan al inglés cotidiano y contiene
notaciones matemáticas de uso común.
Lenguaje de alto nivel
El concepto de lenguaje de alto nivel nació con el lenguaje
FORTRAN (FORmula TRANslation) que, como su nombre indica,
surgió como un intento de traducir fórmulas matemáticas al
lenguaje ensamblador y por consiguiente al lenguaje de
máquina.
A partir de FORTRAN, se han desarrollado innumerables
lenguajes que siguen el mismo concepto: buscar la mayor
abstracción posible y facilitar la vida al programador,
aumentando la productividad.
Ejemplo de Tipos de Lenguajes
Ejemplo 1: Ejemplo 2:
100001010101010 LOAD R1, (B)
LOAD R2, (C)
100100101010100
ADD R1, R2
100011100101110
STORE (A), R1
Lenguaje de maquina Lenguaje de bajo nivel o ensamblador

Ejemplo 3:
A = B + C;
Lenguaje de alto nivel
Traductores de lenguaje
El proceso de traducción de un programa fuente escrito en un
lenguaje de alto nivel a un lenguaje máquina comprensible por
la computadora, se realiza mediante programas llamados
“traductores”.

Los traductores se dividen en compiladores e intérpretes.


Ejercicio 2
Computer programming languages allow us to give instructions
to a computer in a language the computer understands.

Just as many human-based languages exist, there are an array


of computer programming languages that programmers can use
to communicate with a computer.
Ejercicio 2
The portion of the language that a computer can understand is
called a “binary.” Translating programming language into binary
is known as “compiling.” Each language, from C Language to
Python, has its own distinct features, though many times there
are commonalities between programming languages.
Interprete
Un intérprete es un traductor que toma un programa fuente, lo
traduce y, a continuación, lo ejecuta.

El sistema de traducción consiste en: traducir la primera


sentencia del programa a lenguaje máquina, se detiene la
traducción, se ejecuta la sentencia; a continuación, se traduce la
siguiente sentencia, se detiene la traducción, se ejecuta la
sentencia y así sucesivamente hasta terminar el programa.
Interprete
Compilador.
Un compilador es un programa que traduce los programas
fuente escritos en lenguaje de alto nivel a lenguaje máquina.

La traducción del programa completo se realiza en una sola


operación denominada compilación del programa; es decir, se
traducen todas las instrucciones del programa en un solo
bloque.
Compilador.
El programa compilado y depurado (eliminados los errores del
código fuente) se denomina programa ejecutable porque ya se
puede ejecutar directamente y cuantas veces se desee; sólo
deberá volver a compilarse de nuevo en el caso de que se
modifique alguna instrucción del programa. De este modo el
programa ejecutable no necesita del compilador para su
ejecución.
 Los traductores de lenguajes típicos más utilizados son: C,
C++, Java, C#, Pascal, FORTRAN y COBOL.
Compilador
La compilación y sus fases
La compilación es el proceso de traducción de programas
fuente a programas objeto. El programa objeto obtenido de la
compilación ha sido traducido normalmente a código máquina.

Para conseguir el programa máquina real se debe utilizar un


programa llamado montador o enlazador (linker).

El proceso de montaje conduce a un programa en lenguaje


máquina directamente ejecutable
Fases de la compilación
Pasos del proceso de ejecución de un programa

1. Escritura del programa fuente con un editor y guardarlo en


un dispositivo de almacenamiento (por ejemplo, un disco).
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador seleccionado.
4. Verificar y corregir errores de compilación (listado de
errores).
Pasos del proceso de ejecución de un programa

5. Obtención del programa objeto.


6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y, si no existen errores, se tendrá la
salida del programa.
Ejecución de un
programa.
Fases de ejecución
de un programa.
Ejercicio 3: Resuelva el siguiente mensaje
utilizando la tabla:
00000011 = C
00000001 = A
00010010 = R
00010000 = P Significado de la Frase: “Aprovecha el
momento”
00000101 = E
00000000 = 0
00000100 = D
00001001 = I
00000101 = E
00001101 = M
Tarea: Convierte a binario o decimal según sea
el caso
a) 100010 (2)
b) 1111111 (2)
c) 1010101 (2)
d) 3200 (10)
e) 8672 (10)
f) 10000 (10)
Preguntas de comprobación.

1. ¿Que es un lenguaje de programación?


2. ¿Qué diferencia existe entre el lenguaje de maquina,
ensamblador y de alto nivel?
3. ¿Que diferencias existen entre compilador e interprete?
4. Si se modifica un instrucción del programa que acción realiza
el compilador
Bibliografía
Joyanes Aguilar, Luis. Fundamentos de Programación: Algoritmos, estructuras
de datos y objetos. (4ta. Edición). Mc-Graw Hill. España, 2008.
Beekman, G. Introducción a la informática. Sexta edición. Pearson Educación,
S.A. Madrid, 2005. Capítulo 14

Potrebbero piacerti anche