17/09/2012 Lenguajes de Programación: Generaciones Dra. Madeline Ortiz Rodríguez COMP 2110 1 Primera programadora Ada Lovelace publica las notas relacionadas a la calculadora mecánica de Charles Babbage La máquina analítica Se le acredita haber escrito el primer programa de computadora en 1843 Programar: Manipular símbolos de acuerdo a reglas establecidas 2 1 17/09/2012 Ada Lenguaje de programación en su honor Escrito por el Departamento de Defensa de los EE. UU. En 1980 URL: Ada Lovelace. (2009). Recuperado el 11 de mayo de 2009 de Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Ada_Lovelace 3 Máquina Analítica de C. Babbage Universidad Politécnica de Madrid. URL: http://hawaii.ls.fi.upm.es/historia/motivaciones/fotos_Babbage/analitica.htm 4 2 17/09/2012 Niveles de lenguajes Bajo Nivel Dependen de la computadora Primera y segunda generación Alto Nivel Independientes de la computadora Tercera, cuarta y quinta generación 5 Lenguajes de Bajo Nivel PRIMERA Generación – Lenguaje de Máquina Sistema Binario {0, 1} Primer algoritmo diseñado por Ada Lovelace Byron. “Mnemonics” – Abreviaciones Depende de la computadora Plataforma Microprocesador 6 3 17/09/2012 Lenguajes de Bajo Nivel SEGUNDA Generación – Lenguaje de Ensamblaje Uso de símbolos y abreviaciones llamados mnemotécnicos – eficiente y rápido. Se compila antes de ejecutarse para convertirlo a lenguaje de máquina. 7 Lenguajes de Alto Nivel Son independientes de la máquina o computadora. Utilizan palabras del idioma común. Se pueden migrar de una máquina a otra. Necesitan un traductor para cambiar las instrucciones a lenguaje de máquina: Unos utilizan intérpretes. Otros se compilan. 8 4 17/09/2012 Lenguajes de Alto Nivel TERCERA Generación: Lenguaje de Códigos Uso de códigos o palabras claves Parecido al lenguaje humano o matemático Ejemplos: Basic C Java 9 Lenguajes de Alto Nivel CUARTO Generación – Orientado a Objetos Generación de código automáticamente Uso de módulos prediseñados Acceso a bases de datos Programación visual 10 5 17/09/2012 Lenguajes de Alto Nivel Ejemplos de Cuarta Generación .NET Combinación de los programas: Visual Basic, C++, C#, J# Programas de autoría Micromedia Dreamweaver – para la Web – creación y manipulación de distintos medios audiovisuales 11 Lenguajes de Algo Nivel QUINTA Generación – Inteligencia Artificial Programación para aplicaciones en robótica 12 6 17/09/2012 Proceso de programación Código fuente Ensamblador Código objeto Instrucciones escritas por el programador. Convierte cada línea de código en lenguaje de máquina. Lenguaje de máquina – sólo incluye ceros y unos. Tercera generación comienza aquí. Necesitan utilizar otro programa intérprete o compilador. Segunda generación comienza aquí. Primera generación comienza aquí. Dependen de la arquitectura interna del procesador. 13 Cambio a lenguaje de máquina Compilador Toma las líneas de un programa y crea un archivo llamado “código objeto”. Se ejecuta el “código objeto”. Primer compilador diseñado por Grace Hooper a finales de la década de 1950. Intérprete Toma una línea del programa, la cambia a lenguaje de máquina y la ejecuta. Repite el proceso hasta terminar el programa. 14 7 17/09/2012 Referencias Álvarez, S. (s. f.). Tipos de Lenguajes de Programación. DesarrolloWeb.com. Recuperado el 7 de diciembre de 2008 de http://www.desarrolloweb.com/articulos/2358.php El/la autor/a los clasifica en dos grandes grupos, ¿cuáles son éstos? Explica. Brookshear, J. G. (2009). Computer Science: An Overview. Boston, MA: Pearson – Addison Wesley. [Sección 6.1]. 15 Referencias Generaciones de lenguajes de programación. (2008, 28 de noviembre). Recuperado el 6 de diciembre de 2008 de http://es.wikipedia.org/wiki/Generaciones_de_lenguajes_de_ programación Norton, P. (2006). Introducción a la Computación (Sección 13B, págs. 516-529). México: McGraw-Hill. 16 8 17/09/2012 Referencia McKenzie, C. (2012, 26 Jan). Has Computer Programming Really Changed Much Since Lovelace's Time? Retrieved 15 Jan 2012 from http://www.theserverside.com/feature/Has-ComputerProgramming-Really-Changed-Much-SinceLovelaces-Time. ¿Cuáles son las tres tareas básicas que realiza un programa de computadora? ¿De qué manera han cambiado las computadoras desde 1940? 17 9