Lenguaje de Programaci
ónINTENSIVO 2013
Ing. Jomar Matos
República Bolivariana de VenezuelaMinisterio del PP para la Educación UniversitariaUniversidad Nacional Experimental Rómulo GallegosÁrea de Ingeniería en SistemasEscuela de Ingeniería en Informática
Datos
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
Un tipo de dato en programación es….
• Un atributo de una parte de los datos.
• Indica al programador y/u ordenador la clase de datos que se va a procesar.
• Conjunto de valores.
• Casi todos los lenguajes incluyen explícitamente la notación de tipo de datos.
• Algunos LP permiten al programador definir tipos de datos adicionales.
Palabra Reservada
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
Es una palabra que tiene SIGNIFICADO GRAMATICAL especial para ese lenguaje y NO podrá ser utilizada como identificador para ese lenguaje.
Historia de los LP
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Al comienzo sólo existía el código máquina (años 40). No existían los lenguajes de programación.
• Código máquina: secuencia de bits que controlan directamente un procesador. Muy tedioso. 55 89 e5 53 83 ec 04 f0 e8 31...
• Ensamblador: Abreviaturas mnemotécnicas para expresar operaciones. El traductor abreviatura-instrucción código máquina es el ensamblador. subl, pushl, movl, ...
• Necesidad de un lenguaje independiente de la máquina (años 50).
Historia de los LP
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
•FORTRAN fue el primer lenguaje de programación. Desarrollado por un equipo de IBM dirigido por John Backus en 1956.
• Desde 1954 hasta la actualidad se han documentado más de 2500 lenguajes de programación.
Paradigmas de Programación
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Cada uno posee sus propias características.• Proponen soluciones a problemas desde
diferentes perspectivas y filosofías.• Son propuestas tecnológicas adoptadas por
la comunidad de desarrolladores.• Hoy día la POO “podría” ser la más usada.• Es el Programador quien decide cuál Paradigma
usar.
Paradigmas de Programación
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Algunos LP son MultiParadigmas.
•Scala: Imperativo, orientado a objetos, funcional, genérico y concurrente•Erlang: Funcional, concurrente y distribuido•Perl: Imperativo, orientado a objetos y funcional•PHP: Imperativo, orientado a objetos, funcional y reflexivo•JavaScript: Imperativo, orientado a objetos (prototipos) y funcional•Java: Imperativo, orientado a objetos, reflexivo y genérico•Python y Ruby: Imperativo, orientado a objetos, reflexivo y funcional•C++: Imperativo, orientado a objetos, funcional y genérico•C#: Imperativo, orientado a objetos, funcional (lambda), reflexivo y genérico
The Mozart Programming System
Paradigmas de Programación
Soporta nueve paradigmas de programación.
http://www.mozart-oz.org/
¿Por qué estudiar LP?
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Mejora el uso del lenguaje de programación .• Incrementa el vocabulario de los elementos de
programación.• Permite una mejor elección del LP.• Mejora la habilidad para desarrollar programas
efectivos y eficientes.• Facilita el aprendizaje de un nuevo LP.
Los LP en continua evolución
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
1993, Yukihiro Matsumoto.• Lenguaje multi-paradigma interpretado y
muy expresivo que actualmente se utiliza tanto para desarrollar aplicaciones web como videojuegos.
• Proyecto vivo, cada año aparecen nuevas versiones.
http://rubyonrails.org/
Los LP en continua evolución
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
2003, Alemán: Martin Odersky.• Respuesta a los problemas de los lenguajes
tradicionales imperativos para manejar la concurrencia.
• Está implementado sobre Java y corre en la Máquina Virtual Java.
http://www.scala-lang.org/
Los LP en continua evolución
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
2009, Robert Griesemer, Rob Pike, Ken Thompson. (Google Inc.)Una mezcla de C y Python que intenta conseguir un lenguaje de programación de sistemas muy eficiente, expresivo y también multiparadigma. Compilado, Interpretado, concurrente, estructurado. http://golang.org/
Elementos de los LP
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
Abelson y Sussman, “Todos los LP perminten combinar ideas simples en ideas más complejas mediante los siguientes mecanismos:”
Expre
siones
Primiti
vas
AbstracciónCom
binación
Elementos de los LP
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
Abelson y Sussman, “Todos los LP perminten combinar ideas simples en ideas más complejas mediante los siguientes mecanismos:”
Expresiones
Primitivas
• representan las entidades más simples del lenguaje.
Combinación
• con los que se construyen elementos compuestos a partir de elementos más simples.
Abstracción
• con los que dar nombre a los elementos compuestos y manipularlos como unidades.
Abstracción
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Una misión fundamental de los LP es proporcionar herramientas que sirvan para construir abstracciones.
• Sirven para tratar la complejidad del mundo real.
• Existen abstracciones propias de la computación: listas, árboles, grafos, tablas hash...
Traductores
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Proporcionan una gran variedad de estrategias para conseguir que un programa se ejecute en un ordenador.
• Cuyos datos de entrada son el código fuente de otros programas.
• Compiladores e Intérpretes.
META-PROGRAMAS
Traductores
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Compiladores e Intérpretes.• Proporcionan una gran variedad de estrategias para
conseguir que un programa se ejecute en un ordenador.
• Cuyos datos de entrada son el código fuente de otros programas.
META-PROGRAMAS
Compilación
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Diferentes momentos en la vida de un programa: tiempo de compilación y tiempo de ejecución.
• Mayor eficiencia.
C, C++
Interpretación
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• No hay diferencia entre el tiempo de compilación y el tiempo de ejecución.
• Mayor flexibilidad: el código se puede construir y ejecutar "on the fly" (funciones lambda o clousures)
Basic, LISP, Scheme, Python, Ruby
Backtracking
Intensivo 2013Lenguaje de Programación Ing. Jomar Matos
• Estrategia para encontrar soluciones a problemas que satisfacen restricciones.
• Ej. Restauración SO, Inscripciones en Línea, BBDD.
Vuelve - Atrás
Top Related