Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Lenguaje
Un lenguaje es un sistema de comunicaci on. El lenguaje permite abstraer y comunicar conceptos. Un lenguaje de programaci on posibilita la comunicacion con una m aquina.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Programaci on
La programaci on se dene como una actividad general del hombre, que signica la acci on de extender o cambiar la funcionalidad de un sistema[VanRoy]. Programar es decirle a un computador (o a alguna m aquina) como realizar su trabajo. La programaci on es una actividad de amplio espectro realizada tanto por no especialistas como por especialistas. La programaci on (de sistemas de software) consta de dos partes esenciales: la ciencia y la tecnolog a.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Lenguajes de programaci on
Un lenguaje de programaci on es un lenguaje articial dise nado para expresar computaciones que pueden ser llevadas a cabo por una m aquina. Conjunto de s mbolos y reglas sint acticas y sem anticas.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Paradigmas de programaci on
Los principales paradigmas de programaci on son: Declarativos (Funcional, L ogico, Por Restricciones) Imperativo Orientado a Objetos Concurrente Orientado a aspectos Orientado a agentes
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Programaci on Declarativa
Una operaci on es declarativa si siempre que es llamada con los mismos argumentos retorna el mismo resultado. Una operaci on declarativa es:
Independiente (depende solo de sus argumentos) Sin estado (no hay memoria entre distintos llamados) Determinista (un llamado con los mismos argumentos da siempre el mismo resultado)
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Orientado por la m aquina. Alto nivel. Esencial: Asignaci on y secuenciaci on. La programaci on est a dada en t erminos del estado del programa. Programa: Secuencia de instrucciones. Ejemplos: Fortran, Algol, Basic, C, Pascal.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Basado en el c alculo . Manejo impl cito de la memoria. El concepto de funci on es fundamental. Funciones son ciudadanos de primera clase (las funciones pueden ser par ametros o valores de retorno de otras funciones). Programa: Conjunto de funciones + Aplicaci on. Ejemplos: Lisp, Haskell, Scheme, ML.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Basado en el c alculo de predicados. Mecanismo de demostraci on autom atica de teoremas. Esencial: Concepto de deducci on l ogica. Programa: Conjunto de axiomas y un objetivo. Ejemplos: Prolog.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Se representa el mundo real mediante objetos y sus interacciones. Basado en el concepto computacional de objeto. Esencial: Concepto de objeto, herencia, mensaje. Programa: Conjunto de objetos y sus interacciones. Ejemplos: Smalltalk, Java, C++, Obliq, etc.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Basado en el concepto de restricci on (un predicado o relaci on l ogica). Esencial: Concepto de consecuencia l ogica. Esencial: B usqueda en arboles y reducci on de dominios (distribuci on y propagaci on). Programa: Variables + Restricciones (Conjunto de Relaciones entre variables) + Estrategia de exploraci on. Ejemplos: CLP, Mozart.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Basado en la teor a de concurrencia y c alculos de procesos (C alculo , CCS, CCP). Esencial: Mecanismos de comunicaci on entre procesos. Programa: Conjunto de procesos. Ejemplos: PICT, MWB.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Modularidad de las aplicaciones y separaci on de conceptos (generalmente conceptos t ecnicos y comunes a toda la aplicaci on). Separaci on de las funcionalidades comunes utilizadas en la aplicaci on de las funcionalidades propias de cada m odulo. Esencial: Concepto de aspecto (funcionalidad transversal). Ejemplos: AspectJ, Aspect, phpAspect, Aspyct AOP.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Algunos Retos
Enfoques basados en componentes. Mecanismos de seguridad y de conabilidad, seguridad en hilos. Enfasis en movilidad y distribuci on. Enfoques basados en paradigmas y tecnolog as actuales (computaci on grid y cloud, Map and Reduce).
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Contenido
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Incrementa la capacidad para expresar ideas. Ampl a el espectro de conocimientos necesario para seleccionar un lenguaje. Incrementa la habilidad para aprender nuevos lenguajes y paradigmas.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Mejor entendimiento de como los lenguajes de programaci on est an implementados. Mejor uso de los lenguajes de programaci on que ya se conocen. Progreso global de las ciencias computacionales.
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Preguntas
Conceptos Un poco de historia Perspectiva de los paradigmas de programaci on Motivaci on del curso
Pr oxima sesi on