Lenguajes De Programación
sergiocali2331 de Agosto de 2012
9.665 Palabras (39 Páginas)507 Visitas
LENGUAJES DE PROGRAMACION.
Introducción.
EVOLUCION HISTORICA.
El presente trabajo trata de indagar en la evolución a lo largo del tiempo en los lenguajes de programación. Como consecuencia de la corta historia de la Informática, los lenguajes que esta utiliza tiene una existencia breve comparada con cualquier otra tecnología. Esto que podría parecer una ventaja a la hora de afrontar una revisión histórica, es un problema ya que no es frecuente encontrar estudios históricos del pasado inmediato, a esto se une, que la progresión “geométrica” en la aparición de los lenguajes, siendo la mayoría de los lenguajes recogidos este trabajo más del presente que del pasado. No obstante he intentado siempre que he obtenido la documentación intentar no solo describir el lenguaje sino, intentar datarlo aunque fuera aproximadamente y recoger las posibles versiones de este, aunque no siempre siguiendo una serie completa.
Este trabajo se centra más en cada uno de los lenguajes, dejando más de lado la evolución general de los lenguajes, simplificada en las primeras páginas a modo de introducción sino breve si al menos concisa.
LENGUAJES DE PROGRAMACION.
EVOLUCION HISTORICA.
• Relación Traducción-Ejecución.
• Bajo nivel.
Primer Nivel
Se dice que el código binario es de "bajo nivel" o "primer nivel" (porque al usar pocos signos logra muy difícilmente expresar cosas complicadas), mientras un lenguaje humano es de "muy alto nivel" (con una cantidad mayor de signos y con reglas combinatorias logra expresar con facilidad cosas muy complicadas). Todo el esfuerzo, entonces, para facilitar la comunicación del hombre con la computadora, ha de centrarse en el desarrollo de lenguajes de mayor nivel.
El fabricante de un procesador fija los bloques de bits que llevarán a la CPU (unidad central de procesos) a reconocer y realizar diferentes operaciones. Este el "código de máquina", primer lenguaje que la máquina puede interpretar y transformar en acciones. Pero es evidentemente muy difícil de usar para un ser humano. Supongamos que quiera hacer imprimir y para ello deba decir "10011101 11100010": ¿cómo recordar órdenes de este tipo y no equivocarse al escribirlas?
Prácticamente nadie trabaja hoy a este nivel, excepto los diseñadores de "chips" procesadores. Del mismo modo que es posible pasar de un sistema binario a un sistema decimal (más comprensible y más desarrollado en términos de signos legibles) es posible asociar a los bloques de bits no solo valores decimales sino también otros signos. Esto lleva a un segundo nivel de expresión.
• segundo Nivel
La creación de un lenguaje más comprensible por el hombre consiste por lo tanto en establecer la equivalencia de bloques binarios con signos de nuestro lenguaje habitual. Para permitir la programación (secuencia de comandos), se usan pequeños conjuntos de signos ("palabras") de fácil memorización, con las cuales se redactan programas, por ejemplo "ADC" significará "sumar con reserva" (en inglés: "ADd with Carry"). Este tipo de lenguaje se llama "Ensamblador”. La máquina misma hará la tarea de traducirlo en código binario, para seguir las instrucciones, gracias a otro programa cuya función es traducir la expresión humana en "lenguaje de máquina" (binario). Es programa se llama "compilador".
Aunque el Ensamblador es un inmenso progreso con relación al código binario, su desventaja reside en que permanece estrechamente ligado a los bloques binarios que reconoce la CPU (es decir al "hardware"). Para facilitar más la tarea, se han inventado lenguajes de "alto nivel", es decir más cercanos al modo de expresar del hombre que de operación de la máquina. Los primeros y más comunes son los llamados de "tercera generación", más fáciles de manejar y más independientes de las características técnicas de los procesadores. Ahora, hasta un aficionado puede llegar a redactar un programa, sin tener que preocuparse por el código binario o de ensamble: si un programa traductor podía resolver la transformación de bloques de signos en bloques binarios, era cosa de extender las habilidades del traductor para "enseñar" a la máquina cómo "entender" un lenguaje más complejo y agregar mecanismos automáticos de manejo de la memoria para poder utilizar lenguajes aún más comprensibles.
• tercer nivel
El avance en el desarrollo de "compiladores" e "intérpretes" (los dos tipos de programas traductores) ha sido por lo tanto fundamental en el desarrollo de los lenguajes de "3º generación" cuyas ventajas además de la facilidad de aprendizaje y lectura/escritura son las facilidades de corrección, transformación y conversión de un lenguaje a otro.
Los más antiguos son el FORTRAN (para aplicaciones matemáticas y científicas) y el COBOL (para aplicaciones de administración y contabilidad).
Con los micro-computadores nació el BASIC y el PASCAL
• Generadores de aplicaciones o cuarto Nivel
Posteriormente, usando estos lenguajes, se han redactado programas destinados a facilitar un número variado de operaciones en campos de aplicación específicos como simulación de fenómenos físicos, manipulación de datos estadísticos, etc. Los más avanzados y flexibles de estos programas son las planillas electrónicas u hojas de cálculo y los programas de administración de archivos o bases de datos
Dados que tales aplicaciones no "hacen nada" sin que el usuario defina ciertas estructuras y ciertas operaciones, pueden ser consideradas como "generadores" de aplicaciones, aunque este nombre se reserva habitualmente para niveles más avanzados en que los usuarios pueden generar sistemas muy diferentes unos de otros, con "herramientas" que se parecen a lenguajes de programación. Estas herramientas conforman los lenguajes de cuarto nivel que son por esencia "programas para crear programas" con una finalidad específica, como el "CASE" destinado a facilitar el trabajo de los analistas de sistemas.
Tipos de Generadores
En función de la forma de programar.
• Lenguajes procedurales.
Establecen como debe ejecutarse una tarea, dividiéndola en partes que especifican como realizar cada una de las subtareas asociadas. Estos lenguajes se fundamentan en el uso de variables para almacenar valores y el uso de instrucciones que indican las operaciones a realizar sobre los datos almacenados. La mayoría de los lenguajes de alto nivel son de este tipo: FORTRAN, BASIC, PASCAL, ADA, MODULA-2
• Lenguajes declarativos.
En este caso, el proceso por el cual se ejecuta el programa no aparece de forma explícita en el programa, el programador no tiene que indicar el proceso detallado de cómo realizar la tarea. De hecho en estos lenguajes los programas se construyen mediante descripciones de funciones (lenguajes funcionales, como LIPS) o expresiones lógicas que indican las relaciones entre determinadas estructuras de datos (lenguajes de programación lógica, como PROLOG).
• Orientados a objetos.
El diseño de los programas se centra mas en los datos y su estructura. Los programas consisten en descripciones de unidades denominadas objetos, que encapsulan los datos (almacenados en variables) y las operaciones que actúan sobre ellos (que indican el comportamiento del objeto). El lenguaje más usado dentro de este tipo es el C++.
• Orientados al problema.
Están diseñados para problemas específicos, principalmente de gestión. En estos lenguajes, los programas están formados por sentencias que ordenan que se quiere hacer. Generalmente, estos lenguajes suelen ser generadores de aplicaciones que permiten automatizar en la medida de lo posible la tarea de desarrollo de software de aplicaciones de gestión
Según su campo de aplicación.
• Aplicaciones científicas.
En este tipo de aplicaciones predominan las operaciones numéricas o matriciales propias de algoritmos matemáticos. Lenguajes adecuados son FORTAN y PASCAL-
• Aplicaciones en procesamiento de datos.
En estas aplicaciones son frecuentes las operaciones de creación, mantenimiento y consulta sobre ficheros y bases de datos. Dentro de este campo estarían aplicaciones de gestión empresarial, como programas de nominas, contabilidad facturación, control de inventario, etc. Lenguajes aptos para este tipo de aplicaciones son COBOL y SQL.
• Aplicaciones de tratamiento de textos.
Estas aplicaciones están asociadas al manejo de textos en lenguaje natural. Un lenguaje muy adecuado para este tipo de aplicaciones es el C.
• Aplicaciones en inteligencia artificial.
Dentro de este campo, destacan las aplicaciones en sistemas expertos, juegos, visión artificial, robótica. Los lenguajes más populares dentro del campo de la inteligencia artificial son LISP y PORLOG
• Aplicaciones de programación de sistemas.
En este campo se incluirían la programación de software de interfaz entre el usuario y el hardware, como son los módulos de un sistema operativo y los traductores. Tradicionalmente para estas aplicaciones se utilizaba el Ensamblador, no obstante en la actualidad se muestran muy adecuados los lenguajes ADA, MODULA-2 y C.
Lenguajes de Internet.
HTML, JAVA, Perl, PHP.
Cronología.
FECHA LENGUAJE ACONTECIMIENTO
1953 FORTRAN Job Backus propone el desarrollo de un nuevo lenguaje
...