Click here to load reader

Los lenguajes de programación

  • View
    16

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Text of Los lenguajes de programación

Diapositiva 1

Los lenguajes de programacin

Introduccin La programacin de computadoras es una de las reas mas interesantes de la tecnologa moderna. Para comunicarnos con estas maquinas es necesario recurrir a lenguajes especiales. Este trabajo presenta brevemente lo que son los lenguajes de programacin, como se clasifican, las caractersticas y diferencias de los principales lenguajes y para finalizar, estudiaremos cual es el proceso que le permite a la computadora entender esos lenguajes.Finalidad de los lenguajesEntre los seres humanos el lenguaje es un medio de comunicacin de ideas, sentimientos, necesidades, ordenes. De un modo similar, entre el hombre y la computadora la comunicacin se establece por medio de un lenguaje especializado.Las computadoras pueden hacer algunas tareas elementales(con mucha rapidez) y combinndolas en forma adecuada es posible obtener resultados tiles.Un lenguaje de programacin permite que el usuario controle las tareas elementales de la computadora, adems de mantener un nivel de comunicacin adecuado. Por tanto, programar consiste en lograr que la computadora funcione como queremos, aplicando las facilidades de un lenguaje.

La programacin de las primeras computadoras (para cambiar un proceso por otro) se efectuaba reacomodando cables y conexiones (los programas eran cableados). Gracias al espritu inquieto de muchos investigadores esta actividad fue facilitada y mejorada, quitndole lo mecnico y volvindola lgica.Clasificacin de los lenguajes En la actualidad hay una gran variedad de lenguajes de programacin, cada uno con muchas ventajas y tambin con desventajas. No obstante, los lenguajes pueden agruparse segn sus caractersticas comunes. Los lenguajes de programacin han sido clasificados de muchas maneras: *Por su nivel *Por sus aplicaciones principales. La clasificacin de los lenguajes por su nivel se refiere a qu tan cercanos estn los lenguajes a las caractersticas fsicas de la computadora o qu tan prximos estn alas necesidades del programador. La segunda, por aplicaciones, se refiere a las ventajas que tienen los lenguajes para resolver ciertos problemas especficos.

Clasificacin de los lenguajes por su nivel LENGUAJES DE BAJO NIVELLos lenguajes de bajo nivel son aquellos que el procesador de la computadora entiende en forma directa. Dependen de las caractersticas de cada tipo de maquina y slo son comprensibles por especialistas. Aparecieron durante la primera generacin de computadoras y entran en esta categora el lenguaje maquina y el lenguaje ensamblador. LENGUAJES DE ALTO NIVELLos 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 generacin de computadoras y la mayora durante la tercera.Ejemplos de lenguajes de alto nivel son: Pascal, BASIC, Ada, FORTRAN, etctera. LENGUAJES DE NIVEL MEDIOLos lenguajes de nivel medio se definen como lenguajes que renen las ventajas de los dos niveles anteriores. Los nicos lenguajes de este tipo son C y Forth.

El siguiente esquema presenta el lugar que ocupan los lenguajes dentro del campo de la computacin. 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 traduccin llamada programa ensamblador. Mas hacia el exterior estn los lenguajes de alto nivel y de cuarta generacin. Ambos requieren de un estrato intermedio de traduccin, formado por los compiladores e intrpretes. Clasificacin de los lenguajes por su aplicacin Muchos de los lenguajes de alto nivel desarrollados para servir a un objeto en especial. A continuacin una clasificacin de los lenguajes de acuerdo con las reas de aplicacin:

*Lenguajes de propsito general: Pascal, BASIC.*Lenguajes para aplicaciones cientficas: FORTRAN, APL.*Lenguajes didcticos: Logo.*Lenguajes para administracin. COBOL, RPG, SQL.

*Lenguajes para inteligencia artificial: Prolog, Lisp.*Lenguajes para programacin de sistemas: C, Ada.*Lenguajes de programacin orientada a objetos (OOP): SmallTalk, Java, C++.*lenguajes de cuarta generacin (4GL): Mapper, Cogen, Linc.*Lenguajes orientados a la interfaz grfica: Visual Basic, Visual C++, Delphi.Lenguajes de bajo nivel Los lenguajes de bajo nivel, lenguaje maquina y ensamblador, aparecieron durante la primera generacin de computadoras y siguen siendo utilizados ya que son los lenguajes propios de los microprocesadores, aunque slo los usan programadores especializados. El lenguaje mquinaEl CPU de una computadora es un circuito electrnico digital, por ello solo entiende pulsos electrnicos. Esos pulsos elctricos 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 cdigo maquina permite el control directo del CPU. Sin embargo, sise cambia de computadora, el lenguaje cambia. Por lo tanto, un programa realizado en el cdigo maquina de un procesador no sirve para otro procesador diferente.A continuacin se muestra como ejemplo un programa en lenguaje maquina que lee os nmeros desde el teclado, los suma e imprime el resultado. Fue escrito para computadoras con microprocesador Intel 8086 (y slo funcionar en maquinas con este procesador o compatible).

10110100 0000000111001101 0010001 (leer un nmero desde el teclado)10001010 1111100010110100 0000000111001101 00100001 (leer otro nmero desde el teclado)00000010 11111000 (sumar los nmeros)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 confusin. Para disminuir las confusiones con los ceros y unos se recurre a la equivalencia hexadecimal de cada byte.

B401CD21 (leer un nmero desde el teclado)8AF8 B401CD21 (leer otro nmero desde el teclado)02F8 (sumar los nmeros)B4028AD7CD21 (imprimir e resultado)B84C 00 (terminar proceso)C3 La ventaja del cdigo maquina es el control directo del procesador y la gran velocidad de ejecucin. Adems, pese a los avances logrados en lenguajes, an existen rutinas que slo es posible hacer en cdigo maquina.

El lenguaje ensambladorPara allanar algunas de las dificultades que presentaba la programacin en lenguaje maquina se desarrollo un mtodo mnemotcnico que estableca 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 mnemotcnicas o mnemnicas. El lenguaje ensamblador maneja smbolos que el procesador no entiende de inmediato, por ello los programas deben traducirse a lenguaje maquina para ejecutarse.Ese proceso de traduccin (conocido como ensamblado) es sencillo pues existe una relacin uno a uno entre las instrucciones en ensamblador y las secuencias numricas en cdigo maquina.Gracias al ensamblador las revisiones y cambios ya no se realizan sobre el cdigo binario de la computadora, sino sobre smbolos. 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 nmero 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 nmeros)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 ejecucin; adems, ofrece mayores facilidades para el desarrollo de programas. Tambin es un lenguaje que depende por completo de cada tipo de computadora.

Lenguajes de alto nivelDebido 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 generacin (FOLTRAN, ALGOL y COBOL), la mayoria en la tercera y se siguen desarrollando ms.CARACTERISTICAS GENERALES

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

Independencia: el lenguaje no depende de un equipo en particular

Transportabilidad: un programa hecho en una computadora puede funcionar en otraGeneracin de cdigos: los programas hechos en lenguajes de alto nivel deben ser traducidos a lenguaje maquina para poder ejecutarse.

Notacin orientada al problema: los lenguajes y su gramtica se especializan hacia un rea especifica (administrativa, cientfica, etctera).Uso de identificadores: los valores o procesos pueden s ser referidos mediante smbolos o palabras, en lugar de nmeros.

Similitud con el lenguaje ordinario: las palabras del lenguaje y sus estructuras son parecidas al idioma ingls.El lenguaje FORTRANFue 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 aos ms tarde apareci en el IBM 704. Se mejoraron sus caractersticas y se transformo en FORTRAN II (1958). FORTRAN III no se utilizo pblicamente y en 1962 se desarrollo FORTRAN IV para IBM 7090/7094. La ultima versin estndar es FORTRAN 95. FORTRAN fue orientado hacia la solucin de problemas y permite el manejo de n

Search related