UNIVERSIDAD NACIONAL EXPERIMENTAL ROMULO GALLEGOS.AREA DE INGENIERIA EN SISTEMAS.ESCUELA DE INFORMATICA
lunes, 20 de agosto de 2012
EVOLUCIÓN DE LOS LENGUAJES DE PROGRAMACIÓN
ORGANIZACION DEL COMPUTADOR....
POR ALUMNOS:
YANNELLY WEFFER.
VICTOR PORTE.
JONATHAN PACHECO.
Charles Babbage definió a mediados del siglo XIX lo que él llamó la máquina analítica. Se considera a esta máquina el diseño del primer ordenador. Larealidad es que no se pudo construir hasta el siglo siguiente. El caso es que sucolaboradora Ada Lovelace escribió en tarjetas perforadas una serie deinstrucciones que la máquina iba a ser capaz de ejecutar. Se dice que esosignificó el inicio de la ciencia de la programación de ordenadores.
En la segunda guerra mundial debido a las necesidades militares, la ciencia de la computación prospera y con ella aparece el famoso ENIAC (ElectronicNumerical Integrator And Calculator), que se programaba cambiando su circuitería. Esa es la primera forma de programar (que aún se usa en numerosas máquinas) que sólo vale para máquinas de único propósito. Si se cambia el propósito, hay que modificar la máquina.
La función de los lenguajes de programación es proporcionar instrucciones al sistema de la computadora para que pueda realizar una actividad de procesamiento. Cada lenguaje de programación utiliza un grupo de símbolos y reglas que tiene un significado especifico,a eso se le llama sintaxis
Según el estilo de programación se puede hacer esta división:
Lenguajes imperativos. Son lenguajes donde las instrucciones se ejecutan secuencialmente y van modificando la memoria del ordenador para producir las salidas requeridas. La mayoría de lenguajes (C, Pascal, Basic, Cobol, ...son de este tipo. Dentro de estos lenguajes están también los lenguajes orientados a objetos (C++, Java, C#,...)
Lenguajes declarativos. Son lenguajes que se concentran más en el qué, que en el cómo (cómo resolver el problema es la pregunta a realizarse cuando se usan lenguajes imperativos). Los lenguajes que se programan usando la pregunta ¿qué queremos? son los declarativos. El más conocido de ellos es el lenguaje de consulta de Bases de datos, SQL.
Lenguajes funcionales. Definen funciones, expresiones que nos responden a través de una serie de argumentos. Son lenguajes que usan expresiones matemáticas, absolutamente diferentes del lenguaje usado por las máquinas. El más conocido de ellos es el LISP.
Lenguajes lógicos. Lenguajes utilizados para resolver expresiones lógicas. Utilizan la lógica para producir resultados. El más conocido es el
PROLOG.
PRIMERA GENERACIÓN: CÓDIGO MAQUINA
Estos se consideran como de bajo nivel por que no existe un programa de codificación menos complicado que el que utiliza los símbolos binarios 1 y 0.
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, sabiendo que aun este es el unico codigo que entienden los ordenadores, por lo que cualquier forma de programar debe ser convertida a codigo maquina.
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?
Sólo se ha utilizado por los programadores en los inicios de la informática. Su incomodidad de trabajo hace que sea impensable para ser utilizado hoy en día. Pero cualquier programa de ordenador debe, finalmente, ser convertido a este código para que un ordenador pueda ejecutar las instrucciones de dicho programa.
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.
Como este es el lenguaje del CPU, los archivos de texto traducidos a los grupos binarios ASCII pueden leerse por casi cualquier plataforma de sistemas de computadoras.
SEGUNDA GENERACIÓN:LENGUAJE ENSAMBLADOR
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). a ese programa se llama "compilador".
Puesto que el ensamblador es una representación textual pero exacta del código máquina; cada programa sólo funcionará para la máquina en la que fue concebido el programa; es decir, no esportable.
La ventaja de este lenguaje es que se puede controlar absolutamente el funcionamiento de la máquina, lo que permite crear programas muy eficientes. Lo malo es precisamente que hay que conocer muy bien el funcionamiento de la computadora para crear programas con esta técnica. Además las líneas requeridas para realizar una tarea se disparan ya que las instrucciones de la máquina son excesivamente simples.
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.
Los programas de software de sistemas tales como los sistemas operativos y los programas de utilidad se escriben con frecuencia en un lenguaje ensamblador.
TERCERA GENERACIÓN: LENGUAJE GENERALIZADO
Aunque el ensamblador significó una notable mejora sobre el código máquina, seguía siendo excesivamente críptico. De hecho para hacer un programa sencillo requiere miles y miles de líneas de código.
Estos son mas fáciles de aprender y usar que los lenguajes maquina y el lenguaje ensamblador, pues su similitud con la comunicación y comprensión humana cotidiana es mayor.
Son relativamente independientes del hardware de la computadora. Esto significa que el mismo programa puede utilizarse en variascomputadoras diferentes de distintos fabricantes.
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 "3o 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.
Tras varios intentos de representar lenguajes, en 1957 aparece el que se considera el primer lenguaje de alto nivel, el FORTRAN (FORmula TRANslation), lenguaje orientado a resolver fórmulas matemáticos. En 1960 la conferencia CODASYL se creó el COBOL como lenguaje de gestión en 1960. En 1963 se creo PL/I el primer lenguaje que admitía la multitarea y la programación modular.BASIC se creó en el año 1964 como lenguaje de programación sencillo de aprender en 1964 y ha sido, y es, uno de los lenguajes más populares. En 1968 se crea LOGO para enseñar a programar a los niños. Pascal se creó con la misma idea académica pero siendo ejemplo de lenguaje estructurado para programadores avanzados. El creador del Pascal (Niklaus Wirdth) creo Modulaen 1977 siendo un lenguaje estructurado para la programación de sistemas (intentando sustituir alC)
CUARTA GENERACIÓN: LENGUAJE ESPECIFICO
En los años 70 se empezó a utilizar éste término para hablar de lenguajes en los que apenas hay código y en su lugar aparecen indicaciones sobre qué es lo que el programa debe de obtener. Se consideraba que el lenguaje SQL (muy utilizado en las bases de datos) y sus derivados eran de cuarta generación. Los lenguajes de consulta de datos, creación de formularios, informes,... son lenguajes de cuarto nivel. Aparecieron con los sistemas de base de datos.
Actualmente se consideran lenguajes de éste tipo a aquellos lenguajes que se programan sin escribir casi código (lenguajes visuales), mientras que también se propone que éste nombre se reserve a los lenguajes orientados a objetos.
Lenguaje orientado 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).
En los 80 llegan los lenguajes preparados para la programación orientada a objetos todos procedentes de Simula (1964) considerado el primer lenguaje con facilidades de uso de objetos. De estos destacó inmediatamente C++.
partir de C++ aparecieron numerosos lenguajes que convirtieron los lenguajes clásicos en lenguajes orientados a objetos (y además con mejoras en el entorno de programación, son los llamados lenguajes visuales): Visual Basic, Delphi(versión orientada a objetos de Pascal), Visual C++,...
en 1995 aparece Java como lenguaje totalmente orientado a objetos y en el año 2000 aparece C# un lenguaje que toma la forma de trabajar de C++ y del propio Java.
Las principales caracteristicas de los lenguajes orientados a objetos son:
Encapsulación. Receso de reagrupar elementos dentro de un objeto.
Polimorfismo. Receso que le permite al programador desarrollar una rutina o grupo de actividades que operaran sobre objetos múltiples.
Herencia. Propiedad utilizada para describir objetos en un grupo de este tomando características de otros en el mismo grupo o clase de objetos.
Código reutilizable. Código de instrucciones dentro de un objeto que se puede usar repetidamente en diferentes programas de diversas aplicaciones.
QUINTA GENERACIÓN: LENGUAJE NATURAL
Alrededor de la mitad 1998 surgieron gripos de herramientas de lenguajes de quinta generación, los cuales combinan la creación de códigos basadas en reglas, la administración de reutilización y otros avances.
Programación basada en conocimiento. Método para el desarrollo de programas de computación en el que se le ordena ala computadora realizar un propósito en vez de instruirla para hacerlo.
Suscribirse a:
Comentarios (Atom)


