Evolución de los lenguajes de programación (Linea de Tiempo) (1).docx
Short Description
Download Evolución de los lenguajes de programación (Linea de Tiempo) (1).docx...
Description
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA CARRERA: INGIENERÍA INFORMÁTICA ASIGNATURA: Fundamentos de la informática SECCIÓN: 5
Línea de tiempo: evolución de los lenguajes de programación
Prof. Noel Cuba
José Aguilera C.I.: 24.179.608 Jesús Marcano C.I.: 25.935.349 Ronald Muñoz C.I.: 20.808.182
Puerto Ordaz, Octubre 2014
Introducción Una computadora no habla nuestro idioma, son máquinas, y como tales, se necesitan lenguajes específicos pensados por el hombre para ellas. Además, necesitan constantemente interpretar todas las instrucciones que reciben. Como consecuencia de la corta historia de la Informática, los lenguajes que esta utiliza tienen 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. Estos lenguajes permiten, por un lado, escribir las operaciones que son necesarias realizar para resolver el problema de un modo parecido a como se escribiría convencionalmente (es decir, redactar adecuadamente el algoritmo de resolución del problema) y, por el otro, se encarga de traducir el algoritmo al lenguaje máquina (proceso conocido como compilación) con lo que se le confiere al programa la capacidad de correr (ser ejecutado) en la computadora. La computadora es en realidad tan sólo una máquina virtual, capaz de resolver todos los problemas que los usuarios seamos capaces de expresar mediante un algoritmo (programa). Se va a dejar un poco de lado el tema de cómo evolucionan y centrarse más de qué lenguajes fueron creados en la historia, hablando un poco de su concepción y sus características
• Primer Lenguaje. Ada Lovelace y Babbage y su sobrino estaban escribiendo programas para el proyecto de una "Máquina Diferencial" y después la "Máquina Analítica"
1960
• COBOL. Definido por un comité, el CODASYL. Participó en el comité. COBOL es un lenguaje procesal clásico dirigido por gestión de la empresa, en el cual un programa esta dividido en cuatro secciones: identificación, datos, procesos y entorno, y pueden estar divididos en mas partes.
1972 1973 1974 1975 1977 1979 19811986
1985
• Prolog. A. Colmerauer, D. Roussel. Introdujo la Programación Lógica. Prolog es declarativo, su sistema de inferencia lógica es un motor de resolución
• C. Dennis Ritchie. Primeramente destinado para programar el sistema operativo UNIX, pero se volvió rápidamente universal por su portabilidad y velocidad. Permite la compilación incremental
• SQL. Donald D. Chamberlin, Thomas Kurtz. Lenguaje de consulta de bases de datos relacionales. Sucesor del lenguaje Square
• Scheme. Gerald Jay Sussman, Guy L. Steele. Lenguaje derivado del Lisp pero simplificado. Los tipos son booleanos, integrales de tamaño indefinido, racionales y complejos, caracteres, simbolos, vectores, pares ordenados, listas, listas asociativas y tablas Hash. Es usado siempre como un lenguaje script, por Gimp por ejemplo.
• Icon. Griswold. Lenguaje procesal, con función de procesamiento de palabras como Snobol 4, y constructores poderosos. Probablemente el primer lenguaje orientado a los objetivos: una instrucción es ejecutada si una expresión con un éxito o fracaso posible.
• Modula 2. Niklaus Wirth. La idea de este lenguaje fue el reducir el riesgo de error con normas de programación coercitivas. Sin embargo, añade a Pascal algunas características del lenguaje C
• C++. Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
• Eiffel. Bertrand Meyer. Lenguaje procesal orientado completamente a la manipulación de objetos, implementando persistencia y la programación por contrato. Fue diseñado para la seguridad del software.
1986 1987 1989 1991 1991 1992 1994 1994
• GAP. Johannes Meier, Werner Nickel, Alice Niemeyer, Martin Schonert. El lenguaje fue definido para programar algoritmos matemáticos. Es interpretable, interactivo y sin tipo. Las grabaciones y las listas son variables complejos. El sintaxis es como Pascal pero con algunas diferencias.
• Perl. Larry Wall. Destinado a remplazar lel lenguaje de líneas de comando de Unix, Sh, Sed y Awk, mantuvo su misma sintaxis. Usado principalmente para la administración de sistemas.
• Miranda. D. Turner. Miranda es un lenguaje de programación de evaluación perezosa, puramente funcional.
• Phyton. Guido Van Rossum. Lenguaje de Scripting con tipos dinámicos. Este es un reemplazo de Perl. Inspirado por ABC, pero es extensible con librerías C.
• Pov-Ray. D. & A. Collins. Lenguaje para describir imágenes 3D
• DisCo. Reino Kurki-Suonio. Es un lenguaje de especificación para sistemas reactivos con una sintaxis parecida a Pascal.
• Ruby. Yukihiro Matsumoto. Combina una sintaxis inspirada en Python y Perl con características de programación orientada a objetos similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de programación. Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre.
• Java. James Gosling. Es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible
1995 1995 1996
1997
• PHP. Rasmus Lerdorf. Lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML.
• JavaScript. Brendan Eich.. Se utiliza principalmente en su forma del lado del cliente, implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas aunque existe una forma de JavaScript del lado del servidor.
• UML. Grady Booch, Jim Rumbaugh, e Ivar Jacobson. UML es la unión de tres lenguajes de modelado. El lenguaje usa una notación gráfica para diseñar proyectos de software. Una fuena es un diagrama de objetos y sus interacciones.
• Rebol. Carl SassenRath. Lenguaje Interpretable, de script extensible que produce códigos compactos. Se dirige a la comunicación en Internet y computación distribuída.
2000
• C#. Anders Hejlsberg. es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
2001
• AspectJ. Centro de Investigación de Palo Alto. AspectJ es un lenguaje de programación orientado por aspectos construido como una extensión del lenguaje Java creado en Xerox PARC. Un compilador de AspectJ hace llegar la noción de aspecto hacia el código de máquina virtual implementando así una noción de relación..
2001 2004
• Scriptol. Denis Sureau. Es un compilado de PHP y C++, dándole una gran portabilidad. Es un lenguaje para aplicaciones, y para hacer páginas web dinámicas.
• Scala. Hecho por el Ecole Polytechnique Federale de Lausanne. Es un lenguaje puramente orientado a los objetos que implementa algunas características de Python en una sintaxis de Java. Corre actualmente en JVM y .NET
2009
• Go. Es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C. Ha sido desarrollado por Google y sus diseñadores iniciales son Robert Griesemer, Rob Pike y Ken Thompson. Actualmente sólo está disponible para los sistemas operativos Windows, GNU/Linux y Mac OS X. Go usa una sintaxis parecida a C por lo que los programadores que hayan usado dicho lenguaje se sienten muy cómodos con él.
2010
• Julia. Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman. es un lenguaje de programación dinámico, de alto nivel y alto rendimiento para cálculos científicos y técnicos con una sintaxis similar a la de otros entornos de computación similares.Dispone de un compilador avanzado, mecanismos para la ejecución en paralelo y una extensa biblioteca de funciones matemáticas.
2011
• Dart. es un lenguaje de programación de código abierto, desarrollado por Google. Fue revelado en la conferencia goto; en Aarhus, Dinamarca el 10 octubre de 2011. El objetivo de Dart no es reemplazar JavaScript como el principal lenguaje de programación web en los navegadores web, sino ofrecer una alternativa más moderna
2011
• Rust. es un lenguaje de programación compilado, de propósito general y multiparadigma que está siendo desarrollado por Mozilla. Ha sido diseñado para ser 'un lenguaje seguro, concurrente y práctico", soportando programación funcional pura, por procedimientos, imperativa y orientada a objetos. El lenguaje surgió de un proyecto personal desarrollado por Graydon Hoare, quién empezó a trabajar en él en 2006.
2013
• Asm.js. Mozilla. Este lenguaje permite, en combinación con otras herramientas el convertir aplicaciones y librerias escritas en otros lenguajes y usarlas en el explorador. Esto hace del explorador una interfase universal para el trabajo de software online u offline en todos los sistemas operativos en cualquier tipo de dispositivo, desde PC a Smartphones.
2014
• Swift es un lenguaje de programación creado por Apple con el compilador LLVM para los sistemas operativos OS X e iOS presentado el 2 de junio del 2014 en el WWDC 2014 junto con su manual.1 El lenguaje en un principio coexistirá con Objective-C lenguaje que maneja la plataforma de programación oficial de Apple Xcode.
Conclusión Después de la plétora de dialectos de los años 70, la invención de lenguajes se estancó sobre la sintaxis. Los lenguajes comunes, incluso varios recientes como Java, C#, PHP, no trajo cambios en las instrucciones. Es más, Go y Dart son incluso una regresión. Solo Julia es un progreso real y explota las capacidades de las computadoras actuales. El uso de JavaScript se está expandiendo con las aplicaciones web offline. Los lenguajes orientados a objetos permiten el incrustar códigos dentro de páginas HTML y con eso combinar declaraciones y datos. PHP. ASP, JavaScript son los mas usados. Las plataformas .NET permiten que cualquier lenguaje sean incrustados en HTML. Las clases son siendo reemplazadas con objetos dinámicos y la herencia por combinación. En los años 2000, varios lenguajes script modernos ofrecen una sintaxis mas simple e intuitiva: Python es el más usado mundialmente por ahora pero va a ser reemplazado por Go. Ruby es usado principalmente para la biblioteca Rail, pero la tendencia está en Node y JavaScript. Los lenguajes se volvieron más portables gracias a LLVM y Emscriptem. El primero corre en cualquier sistema, el segundo por convertir el código LLVM en JavaScript. El desarrollo de teléfonos móviles con sus múltiples operando sistemas que adoptan HTLM 5 como una plataforma de desarrollo y con tecnologías relacionadas: SVG, Canvas, CSS, JavaScript se volvieron los lenguajes dominantes para las aplicaciones web. Otras tendencias de niveles más altos para lenguajes, programados por aspectos, o por esquemas con UML y otros conceptos, distribuidos por la nube.
Referencias
Scriptol. (2014). History and Evolution of Programming Languages. 30 de Septiembre
de
2014,
de
Scriptol.
Sitio
web:
http://www.scriptol.com/programming/history.php
Veracode. (2013). The History of Programming Languages Infographic. 1 de Octubre
de
2014,
de
Veracode.
Sitio
web:
https://www.veracode.com/blog/2013/04/the-history-of-programming-languagesinfographic
Éric Levenez. (2013). Computer Languages History. 30 de Septiembre de 2014, de Levenez. Sitio web: http://www.levenez.com/lang/
Elisabeth Rojas. (2011). La historia de los lenguajes de programación. 1 de Octubre de
2014,
de
muycomputerpro.
Sitio
web:
http://www.muycomputerpro.com/2011/08/26/historia-lenguajes-programacion
Marina Aguilar, André Ormset, José Antonio Ríos, René Hofboer, Damián Zamorano, Bernard García. (2001). Historia y Tipos de Lenguaje de Programación. 1 de Octubre de 20145, de Universidad Francisco Gavidia Sitio web: http://wwwisis.ufg.edu.sv/wwwisis/documentos/M0/M000508.pdf
View more...
Comments