Lenguaje de programación 20133

26
Lenguaje de Programación INTENSIVO 2013 Ing. Jomar Matos pública Bolivariana de Venezuela nisterio del PP para la Educación Universitaria iversidad Nacional Experimental Rómulo Gallegos ea de Ingeniería en Sistemas cuela de Ingeniería en Informática

Transcript of Lenguaje de programación 20133

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

Intensivo 2013Lenguaje de Programación Ing. Jomar Matos

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.

Datos

Intensivo 2013Lenguaje de Programación Ing. Jomar Matos

Tipos de Datos más comunes

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.

http://goo.gl/nzC09e

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

Ejecución en Máquina Virtual

Intensivo 2013Lenguaje de Programación Ing. Jomar Matos

Java, Scala

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