La materia está planteada para el noveno semestre, cuando el estudiante ya está consolidado en cuanto a sus habilidades como desarrollador de software. A esas habilidades les falta la comprensión de los fundamentos de los diferentes paradigmas, así como las diferentes técnicas que utilizan los lenguajes de programación modernos para lidiar con cada característica: inferencia de tipos, pasaje de parámetros, administración de memoria, etc. Es por eso que el presente curso, a esta altura de la carrera, propone estudiar las diferentes características de los lenguajes, otorgando un panorama general.
Modos de Cursada: Cuatrimestral Presencial
Horas Semanales: 4 horas
Demanda de tiempo en casa semanal: 4 horas
Sitio web:
Programa de la materia:
Contenidos Mínimos:
- Lenguajes según su modelo de cómputo:
*Modelos de cómputo imperativo, funcional, objetos, lógico
*Realización de estructuras de datos en los diferentes paradigma - Lenguajes según sus características:
*Lenguajes tipados y no tipados. Sistemas de tipos
*Mecanismos de binding (estático y dinámico)
*Mecanismos de pasaje de parámetros (valor, referencia, nombre, otros)
*Formas de llevar a cabo la ejeción (compilación, interpretación, máquinas virtuales)
*Formas de administración de memoria (explícita y garbage collection) - Lenguajes según su propósito
*Lenguajes de propósitos generales
*Lenguajes de dominio específico - Lenguajes de scripting Aptitudes de diferentes lenguajes para diferentes tareas (claridad, eficiencia, modificabilidad, etc.)
Lenguajes según la forma de asignarles significado Herramientas de asignación de significado (semánticas operacional, denotacional, axiomática - Casos específicos de semántica operacional, ilustrando modelos de cómputo y características