Título: «Análisis Comparativo de Ambientes de Programación Multiparadigma«
Alumna: Yanina Paola Pérez
Directora: Lic. Silvia Amaro
Carrera: Licenciatura en Ciencias de la Computación
Fecha de defensa: 21 de diciembre de 2015
Resumen
Los lenguajes de programación pueden ser clasificados en paradigmas que se diferencian por la forma en que sus construcciones ayudan al programador en la solución de problemas en un cierto dominio de aplicación. Un paradigma de programación es un enfoque general que el programador puede tomar para describir y resolver un problema. Ese enfoque es soportado por los lenguajes de programación que es reflejado por los conceptos del lenguaje (las construcciones y los mecanismos de evaluación).
Para encontrar un buen estilo de programación se requiere utilizar conceptos de programación que generalmente están asociados a diferentes paradigmas de programación. Esta tarea se dificulta con lenguajes de programación que implementan un único paradigma. Un paradigma particular genera un tipo específico de estilo de implementación y se adapta mejor a cierto tipo de aplicaciones. En la actualidad, las aplicaciones son heterogéneas, son sistemas complejos que requieren una mezcla de metodologías; por ejemplo, las aplicaciones de Internet combinan múltiples lenguajes, y también múltiples paradigmas; ya que deben tener un balance entre varias incumbencias, ser implementadas de forma rápida y confiable, proveer acceso seguro, soportar concurrencia y distribución. En este escenario los desarrolladores requieren mejorar su productividad, y para ello posibles opciones son el desarrollo basado en programación multiparadigma y programación políglota.
La noción de lenguaje de programación multiparadigma se refiere a la integración de conceptos y construcciones de dos o más paradigmas, de forma que el programador pueda describir problemas y sus soluciones en un estilo mixto utilizando una vista apropiada en cada momento. La programación multiparadigma es una práctica que emerge como resultado de la coexistencia de los paradigmas orientado a objetos, procedural y declarativo, buscando mejorar la producción en el desarrollo de proyectos. Esta provee las herramientas para afrontar aplicaciones heterogéneas y trabajar cada componente de la aplicación con un paradigma apropiado, logrando eficiencia en el modelado, programación y resolución de problemas.
En este trabajo se presenta una clasificación de paradigmas de programación basada en conceptos y se desarrollan los considerados paradigmas básicos y las características de los lenguajes de programación que los soportan. Se expone la importancia del análisis y diseño del dominio de los problemas que dan origen a la programación multiparadigma, Se estudian los lenguajes multiparadigmas Oz y Ciao Prolog que corresponden a los diferentes enfoques multiparadigma: del lenguaje y por librerías. Esta diferencia se puede observar en el análisis comparativo que se realiza entre ambos: Mozart-Oz permite la programación con distintos paradigmas por medio de construcciones nativas del lenguaje, mientras que Ciao Prolog utiliza extensiones del lenguaje para incluir los diferentes paradigmas. Se concluye con la importancia de poder utilizar conceptos y construcciones de diferentes paradigmas en forma conjunta para una representación integral.