los lenguajes de programación

51
Los lenguajes de programación

Upload: mariam-holder

Post on 04-Jan-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Los lenguajes de programación. Introducción. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Los lenguajes de programación

Los lenguajes de programación

Page 2: Los lenguajes de programación

Introducción

La programación de computadoras es una de las áreas mas interesantes de la tecnología moderna. Para comunicarnos con estas maquinas es necesario recurrir a lenguajes especiales. Este trabajo presenta brevemente lo que son los lenguajes de programación, como se clasifican, las características y diferencias de los principales lenguajes y para finalizar, estudiaremos cual es el proceso que le permite a la computadora entender esos lenguajes.

Page 3: Los lenguajes de programación

Finalidad de los lenguajes

Entre los seres humanos el lenguaje es un medio de comunicación de ideas, sentimientos, necesidades, ordenes. De un modo similar, entre el hombre y la computadora la comunicación se establece por medio de un lenguaje especializado.

Las computadoras pueden hacer algunas tareas elementales(con mucha rapidez) y combinándolas en forma adecuada es posible obtener resultados útiles.

Un lenguaje de programación permite que el usuario controle las tareas elementales de la computadora, además de mantener un nivel de comunicación adecuado. Por tanto, programar consiste en lograr que la computadora funcione como queremos, aplicando las facilidades de un lenguaje.

Page 4: Los lenguajes de programación

La programación de las primeras computadoras (para cambiar un proceso por otro) se efectuaba reacomodando cables y conexiones (los programas eran cableados). Gracias al espíritu inquieto de muchos investigadores esta actividad fue facilitada y mejorada, quitándole lo mecánico y volviéndola lógica.

Page 5: Los lenguajes de programación

Clasificación de los lenguajes

Page 6: Los lenguajes de programación

En la actualidad hay una gran variedad de lenguajes de programación, cada uno con muchas ventajas y también con desventajas. No obstante, los lenguajes pueden agruparse según sus características comunes.

Los lenguajes de programación han sido clasificados de muchas maneras:

*Por su nivel *Por sus aplicaciones principales. La clasificación de los lenguajes por su nivel se

refiere a qué tan cercanos están los lenguajes a las características físicas de la computadora o qué tan próximos están alas necesidades del programador. La segunda, por aplicaciones, se refiere a las ventajas que tienen los lenguajes para resolver ciertos problemas específicos.

Page 7: Los lenguajes de programación

Clasificación de los lenguajes por su nivel

LENGUAJES DE BAJO NIVEL Los lenguajes de bajo nivel son aquellos que

el procesador de la computadora entiende en forma directa.

Dependen de las características de cada tipo de maquina y sólo son comprensibles por especialistas.

Aparecieron durante la primera generación de computadoras y entran en esta categoría el lenguaje maquina y el lenguaje ensamblador.

Page 8: Los lenguajes de programación

LENGUAJES DE ALTO NIVEL Los lenguajes de alto nivel son aquellos

desarrollados para el usuario de la computadora.

Permiten que los procedimientos se expresen con un estilo comprensible; sin embargo, la computadora no los entiende directamente.

Algunos de estos lenguajes fueron desarrollados durante la segunda generación de computadoras y la mayoría durante la tercera.

Ejemplos de lenguajes de alto nivel son: Pascal, BASIC, Ada, FORTRAN, etcétera.

Page 9: Los lenguajes de programación

LENGUAJES DE NIVEL MEDIO Los lenguajes de nivel medio se

definen como lenguajes que reúnen las ventajas de los dos niveles anteriores.

Los únicos lenguajes de este tipo son C y Forth.

Page 10: Los lenguajes de programación

El siguiente esquema presenta el lugar que ocupan los lenguajes dentro del campo de la computación.

El lenguaje mas cercano al hardware (centro de la figura) es el lenguaje maquina, circundado por el lenguaje ensamblador. Como este ultimo se encuentra mas alejado del hardware, hay una capa de traducción llamada programa ensamblador. Mas hacia el exterior están los lenguajes de alto nivel y de cuarta generación. Ambos requieren de un estrato intermedio de traducción, formado por los compiladores e intérpretes.

Lenguajes de cuarta generación

Lenguaje

máquinaHardware

Page 11: Los lenguajes de programación

Clasificación de los lenguajes por su aplicación

Muchos de los lenguajes de alto nivel desarrollados para servir a un objeto en especial. A continuación una clasificación de los lenguajes de acuerdo con las áreas de aplicación:

*Lenguajes de propósito general: Pascal, BASIC.*Lenguajes para aplicaciones científicas:

FORTRAN, APL.*Lenguajes didácticos: Logo.*Lenguajes para administración. COBOL, RPG, SQL.

Page 12: Los lenguajes de programación

*Lenguajes para inteligencia artificial: Prolog, Lisp.

*Lenguajes para programación de sistemas: C, Ada.

*Lenguajes de programación orientada a objetos (OOP): SmallTalk, Java, C++.

*lenguajes de cuarta generación (4GL): Mapper, Cogen, Linc.

*Lenguajes orientados a la interfaz gráfica: Visual Basic, Visual C++, Delphi.

Page 13: Los lenguajes de programación

Lenguajes de bajo nivel

Page 14: Los lenguajes de programación

Los lenguajes de bajo nivel, lenguaje maquina y ensamblador, aparecieron

durante la primera generación de computadoras y siguen siendo

utilizados ya que son los lenguajes propios de los microprocesadores,

aunque sólo los usan programadores especializados.

Page 15: Los lenguajes de programación

El lenguaje máquina

El CPU de una computadora es un circuito electrónico digital, por ello solo entiende pulsos electrónicos. Esos pulsos eléctricos corresponden a secuencias de unos y ceros que el procesador maneja y entiende, y son conocidas como lenguaje maquina; no importa que tan moderna sea la computadora, cualquier programa que ejecute deberá estar en lenguaje maquina antes de que el CPU pueda entenderlo.

Programar en código maquina permite el control directo del CPU. Sin embargo, sise cambia de computadora, el lenguaje cambia. Por lo tanto, un programa realizado en el código maquina de un procesador no sirve para otro procesador diferente.

Page 16: Los lenguajes de programación

A continuación se muestra como ejemplo un programa en lenguaje maquina que lee os números desde el teclado, los suma e imprime el resultado. Fue escrito para computadoras con microprocesador Intel 8086 (y sólo funcionará en maquinas con este procesador o compatible).

10110100 0000000111001101 0010001 (leer un número desde el teclado)10001010 1111100010110100 0000000111001101 00100001 (leer otro número desde el teclado)00000010 11111000 (sumar los números)10110100 0000001010001010 110101111100110100100001 (imprimir el resultado)10111000 01001100 00000000 (terminar proceso)11000011

Aquí se observa con toda claridad que este lenguaje no es sencillo y con facilidad causa confusión.

Page 17: Los lenguajes de programación

Para disminuir las confusiones con los ceros y unos se recurre a la equivalencia hexadecimal de cada byte.

B4 01CD 21 (leer un número desde el teclado)8A F8 B4 01CD 21 (leer otro número desde el teclado)02 F8 (sumar los números)B4 028A D7CD 21 (imprimir e resultado)B8 4C 00 (terminar proceso)C3 La ventaja del código maquina es el control directo del

procesador y la gran velocidad de ejecución. Además, pese a los avances logrados en lenguajes, aún existen rutinas que sólo es posible hacer en código maquina.

Page 18: Los lenguajes de programación

El lenguaje ensamblador

Para allanar algunas de las dificultades que presentaba la programación en lenguaje maquina se desarrollo un método mnemotécnico que establecía una equivalencia entre las secuencias binarias y un conjunto de abreviaturas que indicaban las acciones efectuadas por el procesador. A esta mejora se le nombró como lenguaje ensamblador y sus instrucciones mnemotécnicas o mnemónicas.

Page 19: Los lenguajes de programación

El lenguaje ensamblador maneja símbolos que el procesador no entiende de inmediato, por ello los programas deben traducirse a lenguaje maquina para ejecutarse.

Ese proceso de traducción (conocido como ensamblado) es sencillo pues existe una relación uno a uno entre las instrucciones en ensamblador y las secuencias numéricas en código maquina.

Gracias al ensamblador las revisiones y cambios ya no se realizan sobre el código binario de la computadora, sino sobre símbolos.

Page 20: Los lenguajes de programación

El programa antes presentado luce así en lenguaje ensamblador:

M O V A H , 0 1 H I N T 2 1 H (leer un número desde el teclado)M O V B H , A LM O V A H , 0 1 H I N T 2 1 H (leer otro numero desde el teclado)A D D B H , B L (sumar los números)M O V D L , B H I N T 2 1 HM O V A X , 4 C 0 0 H (imprimir el resultado) I N T 2 1 (terminar proceso)R E T

El ensamblador tiene las mismas ventajas que el lenguaje maquina: control directo del procesador y gran velocidad de ejecución; además, ofrece mayores facilidades para el desarrollo de programas. También es un lenguaje que depende por completo de cada tipo de computadora.

Page 21: Los lenguajes de programación

Lenguajes de alto nivel

Debido a las dificultades que presentaba programar con lenguajes de bajo nivel, se desarrollaron nuevos lenguajes, llamados de alto nivel, que facilitaron bastante el trabajo de los programadores.

Actualmente hay gran variedad de lenguajes, algunos aparecieron en la segunda generación (FOLTRAN, ALGOL y COBOL), la mayoria en la tercera y se siguen desarrollando más.

Page 22: Los lenguajes de programación

CARACTERISTICAS GENERALES

Por muy diferentes que puedan ser entre sí los lenguajes de alto nivel, todos poseen las siguientes caracteristicas:

Page 23: Los lenguajes de programación

Independencia: el lenguaje no depende de un equipo en particular

Transportabilidad: un programa hecho en una computadora puede funcionar

en otra

Page 24: Los lenguajes de programación

Generación de códigos: los programas hechos en lenguajes de alto nivel deben ser traducidos a lenguaje maquina para poder ejecutarse.

Notación orientada al problema: los lenguajes y su gramática se

especializan hacia un área especifica (administrativa, científica, etcétera).

Page 25: Los lenguajes de programación

Uso de identificadores: los valores o procesos pueden s ser referidos

mediante símbolos o palabras, en lugar de números.

Similitud con el lenguaje ordinario: las palabras del lenguaje y sus estructuras

son parecidas al idioma inglés.

Page 26: Los lenguajes de programación

El lenguaje FORTRAN

Fue el primer lenguaje de alto nivel que apareció. Su nombre es una abreviatura de FORmula TRANslating system. Se desarrolló a partir de 1954 y dos años más tarde apareció en el IBM 704. Se mejoraron sus características y se transformo en FORTRAN II (1958). FORTRAN III no se utilizo públicamente y en 1962 se desarrollo FORTRAN IV para IBM 7090/7094. La ultima versión estándar es FORTRAN 95.

FORTRAN fue orientado hacia la solución de problemas y permite el manejo de números complejos.

Page 27: Los lenguajes de programación

El lenguaje ALGOL

El ALGOL (ALGOrithmic Language) apareció en 1985, tras su discusión en un comité de dos asociaciones de informática (ACM-americana y GAMM-europea). Fue el primer lenguaje estructurado.

El ALGOL se orientó hacia problemas científicos. Sus principales características fueron ser algorítmico y permitir la recursividad.

Page 28: Los lenguajes de programación

El lenguaje COBOL

COBOL son siglas de Common Business Oriented Lenguaje. Sus orígenes remontan a 1959, cuando después de una reunión de fabricantes de computadoras, industrias y gobierno estadounidense, se planteó la necesidad de un lenguaje que estuviese enfocado hacia las necesidades administrativas. Como resultado se formó el Comité CODASYL(Conference on Data Systems Languajes) que desarrolló una descripción del lenguaje, apareciendo finalmente COBOL en 1960.

COBOL fue el primer lenguaje transportable y su enfoque de trabajo es hacia problemas administrativos.

Page 29: Los lenguajes de programación

El lenguaje BASIC

BASIC son las siglas de Beginner’s All-purpose Symbolic Instruction Code. Este lenguaje fue desarrollado en 1965, en el Darmouth College (New Hamshire), por Thomas Kurtz y John Kenemy. Estos investigadores tuvieron como finalidad tener un lenguaje facil de aprender (en aquella época ninguno de los lenguajes existentes resultaba sencillo para los estudiantes universitarios).

Sus características son la simplicidad, el fácil aprendizaje, la versatilidad, y no ser estructurado.

Page 30: Los lenguajes de programación

El lenguaje LOGO

Este lenguaje fue creado por Seymour Papert (del Tecnológico de Massachussets) en las postrimerías de la década de los sesenta, y es una variante de LISP (LISt Processor). Mediante él intentó reunir teorías pedagógicas de aprendizaje e inteligencia artificial.

LOGO es un eficiente lenguaje educativo (para enseñanza de programación y aprendizaje en general) gracias a su sencillez y a sus capacidades graficas (conocidas como gráficos de tortuga).

LOGO tiene como características ser interactivo, ampliable y recursivo. Debido a su ascendiente (LISP) puede servir de introducción en los campos de inteligencia artificial y procesamiento de listas.

Page 31: Los lenguajes de programación

El lenguaje Pascal

En honor a Blaise Pascal, Nicklaus Wirth así bautizó al lenguaje que diseñó en 1970. el lenguaje Pascal tuvo propósito enseñar ,os principios de la programación estructurada a estudiantes universitarios. Tuvo como antecesor directo al ALGOL; sin embargo, en Pascal es más sencillo el manejo de datos y no es tan extenso.

Es un lenguaje estructurado, transportable, de propósito general, recursivo y modular.

Page 32: Los lenguajes de programación

El lenguaje C

Durante la década de los sesenta se empezó a sentir necesidad de un lenguaje de programación que tuviera facilidades y estructuras de un lenguaje de alto nivel pero que permitiera también manipular directamente al procesador de la computadora.

El primer intento lo realizó Martin Richards en la Universidad de Cambridge (Inglaterra) en 1969, con el lenguaje BCPL. En los laboratorios Bell tomaron sus conceptos y desarrollaron el lenguaje B. En 1972 Ken Thompson y Dennis Ritchie empiezan a extender este lenguaje dando creación al lenguaje C.

Las capacidades del C promovieron que el núcleo del sistema operativo Unix fuera reescrito casi en su totalidad en este lenguaje, en 1973.

El lenguaje C es uno de los más populares en la actualidad, se ha implantado en casi la totalidad de las computadoras y ha mantenido gran estandaridad en sus librerías de funciones, gracias a lo cual es muy útil para desarrollar sistemas transportables.

Page 33: Los lenguajes de programación

Traducción de lenguajes

Page 34: Los lenguajes de programación

Cuando se escribe un programa en lenguaje de alto nivel, éste debe traducirse al lenguaje máquina de la computadora para lo que lo pueda ejecutar.

Este proceso de traducción se realiza mediante programas especializados llamados compiladores e intérpretes.

Programa fuente

traducción

compila

dor

intérprete

Disco

Programa objeto

CPU

Carg

ar

pro

gra

ma

Page 35: Los lenguajes de programación

Tipos de programa

Una vez escrito un programa éste puede estar en código fuente, código objeto o código ejecutable.

Código fuente: es el conjunto de instrucciones tal y como fueron escritas por el programador en el lenguaje de alto nivel (también se le conoce como programa fuente).

Código objeto: son las instrucciones de un programa cuando ya han sido traducidas a lenguaje máquina (también se le conoce como programa fuente).

Código ejecutable: es un código objeto que puede ser ejecutado por la computadora de inmediato (no todos los códigos objeto son ejecutables.)

Page 36: Los lenguajes de programación

El compilador

El compilador es un programa especial que traduce un programa fuente (escrito en un lenguaje de alto nivel) a un código objeto.

Un compilador analiza las líneas del programa e identifica ciertas estructuras para traducirlas adecuadamente a lenguaje máquina. Una vez que se ha efectuado la compilación puede prescindirse del programa fuente.

Los compiladores son propios de cada lenguaje de programación. Algunos ejemplos de lenguajes que requieren compilador son: Pascal, C, FORTRAN, COBOL, ALGOL, Y APL.

Page 37: Los lenguajes de programación

El proceso de compilación se verifica en cinco etapas:

Programa fuente

Análisis de léxico

Análisis de

sistemas

Generación de código

intermedio

Generación de código máquina

Programa objeto

Page 38: Los lenguajes de programación

Análisis léxico: durante esta etapa se verifica que las palabras utilizadas en el programa fuente pertenezcan al lenguaje.

Análisis de sintaxis: esta parte de la compilación examina cada instrucción del programa fuente para que las instrucciones estén organizadas correctamente.

Generación de código intermedio: este paso produce un código simbólico que permitirá efectuar la equivalencia con lenguaje máquina.

Generación de código máquina: en esta última etapa se elabora el programa objeto.

Page 39: Los lenguajes de programación

El intérprete

Es un programa especial que traduce (a lenguaje máquina) cada línea del programa fuente y la ejecuta de inmediato.

Los interpretes no producen código objeto, por ello la ejecución de un programa requiere forzosamente del código fuente. Además, los programas en lenguaje interpretado se ejecutan con más lentitud que aquellos en lenguaje compilado.

Son lenguajes que requieren intérprete: BASIC, LOGO, Prolog, LISP Y SmallTalk.

Page 40: Los lenguajes de programación

Conclusiones

Page 41: Los lenguajes de programación

Un lenguaje de programación permite que el usuario controle las tareas elementales de la computadora.

La programación de las primeras computadoras era por medio de cables.

Los lenguajes de programa se clasifican por su nivel y por sus aplicaciones principales.

Lenguajes de bajo nivel son los que el procesador de la computadora entiende directamente. Dependen de las características de cada tipo de máquina.

Son lenguajes de bajo nivel el lenguaje máquina y el lenguaje ensamblador.

Page 42: Los lenguajes de programación

Lenguajes de alto nivel son lenguajes que permiten que los procedimientos de expresen con palabras y estructura comprensibles.

Algunos lenguajes de alto nivel son: Pascal, BASIC, Ada, FORTRAN.

Los lenguajes de nivel medio son los que reúnen las ventajas de lenguajes de alto y bajo nivel. Los únicos de este tipo son C y Forth.

El CPU de una computadora es un circuito electrónico digital que sólo entiende pulsos electrónicos.

Page 43: Los lenguajes de programación

El lenguaje máquina son las secuencias de unos y ceros que el procesador maneja y entiende.

Cualquier programa deberá estar en lenguaje máquina antes de que el CPU pueda entenderlo.

Programar en código máquina permite el control directo del CPU y gran velocidad de ejecución.

Un programa escrito en el lenguaje máquina de un procesador específico no sirve para otro diferente.

Page 44: Los lenguajes de programación

El lenguaje ensamblador maneja símbolos y existe una relación uno a uno entre esos símbolos y las secuencias numéricas en código máquina. También es un lenguaje totalmente dependiente de cada tipo de computadora.

Las instrucciones en ensamblador no las entiende directamente del CPU, por ello los programas deben traducirse a lenguaje máquina para poder ejecutarse (proceso de ensamblado).

Las ventajas del lenguaje ensamblador son control directo del procesador , gran velocidad de ejecución y facilidades para la depuración y mantenimiento de programas.

Page 45: Los lenguajes de programación

Son características de los lenguajes de alto nivel la independencia, transportabilidad, generación de código, notación orientada al problema, uso de identificadores y similitud con el lenguaje ordinario.

El lenguaje FORTRAN (FORmula TRANslating system) fue el primer lenguaje de alto nivel que apareció. Se orientó a la solución de problemas numéricos.

El lenguaje ALGOL (ALGOrithmic Languaje) fue el primer lenguaje estructurado, algorítmico y que permitió la recursividad. Se orientó hacia problema científicos.

Page 46: Los lenguajes de programación

El lenguaje COBOL (Common Business Oriented Languaje) fue el primer lenguaje transportable y su enfoque de trabajo e hacia problemas administrativos.

El lenguaje Pascal ha tenido como propósito enseñar los principios de la programación estructurada. Sus principales características son ser un lenguaje estructurado, transportable, de propósito general, recursivo y modular.

Page 47: Los lenguajes de programación

El lenguaje C es muy útil para la programación de sistema debido a su estandarizad, a la gran cantidad de computadoras que lo han implementado y que permite grandes facilidades para el control directo de la computadora. Se desarrolló en 1972 por Thompson y Ritchie (laboratorios Bell) y se encuentra emparentado con el sistema operativo UNIX.

El código fuente es el conjunto de instrucciones en lenguaje de alto nivel.

Page 48: Los lenguajes de programación

El código objeto son las instrucciones de un programa que ya han sido traducidas a lenguaje máquina.

El código ejecutable es un código objeto que puede ser ejecutado por la computadora de inmediato.

Un compilador es un programa especial que traduce un programa escrito en lenguaje de alto nivel a un código objeto.

Algunos ejemplos de lenguajes que requieren compilador son: Pascal, C, FORTRAN, COBOL, ALGOL Y APL.

Page 49: Los lenguajes de programación

Los pasos de compilación son análisis léxico, análisis de sintaxis, generación de código intermedio y generación de código máquina.

El intérprete es un programa especial que traduce (a lenguaje máquina) cada línea del programa fuente y la ejecuta de inmediato.

Los intérpretes no producen código objeto. La ejecución de un programa requiere del código fuente. Los programas en lenguaje interpretado se ejecutan con más lentitud que aquellos en lenguaje compilado.

Los lenguajes que requieren intérprete son BASIC, LOGO, Prolog y LISP.

Page 50: Los lenguajes de programación

Bibliografía

Vasconcelos Santillán, INTRODUCCIÓN A LA COMPUTACIÓN, México 2005, 103-105 pp., Publicaciones cultural.

Page 51: Los lenguajes de programación

Elaboraron:

Karen Cruz Ríos

Blanca Estela Espinal Hernández

Abraham Mayer Chávez