(776)-Programación con Objetos III

CARRERAS

Licenciatura en Informática-

Contenidos Mínimos

Introducción a los sistemas de tipos y chequeo de tipos en un lenguaje de programación con objetos: tipos nominales y estructurales, tipado explícito e implícito. Ducktyping. Inferencia de tipos. Esquemas de binding, early / late binding. Variantes del paradigma de objetos. Bloques y closures. Non-local returns. Herencia simple y múltiple; mixins y traits. Introducción a la programación orientada a aspectos. Open classes. Extensiones del paradigma de objetos. Construcción de programas multilenguaje y multiparadigma. Implicancias en el diseño, patrones de diseño en las diferentes variantes del paradigma, behavioral completeness. Metaprogramación, programación reflexiva, introspección, self-modification. Mirrors. Lenguajes específicos de dominio (DSL). Clasificación de los DSLs: compilados, interpretados; traductores; embebidos. Creación de DSLs. Programación declarativa.