La asignatura se centra en el estudio de diferentes temas relacionados con el diseño e implementación de los lenguajes de programación.
En primer lugar, y como alternativa a los esquemas de compilación ya estudiados durante las asignaturas previas, se estudia el diseño de la máquina virtual del lenguaje Prolog. Una máquina virtual es un programa software que se comporta como un procesador hardware y que posee su propio lenguaje máquina. Se le llama "virtual" porque no existe realmente un chip hardware para la ejecución del lenguaje de la máquina virtual, sino que ésta se simula mediante software. La compilación de un lenguaje de programación se suele realizar generalmente al lenguaje intermedio de una máquina virtual, facilitando así el desarrollo de compiladores para distintas plataformas hardware. Conocer la máquina virtual de un lenguaje de programación resulta útil no sólo para estudiar cuestiones de diseño y compilación del lenguaje, sino también para poder desarrollar aplicaciones eficientes.
En segundo lugar, se estudia el desarrollo de aplicaciones para
Internet.
Para este propósito, han surgido diferentes lenguajes de programación con
características muy particulares que los hacen especialmente adecuados para
la programación de aplicaciones WWW. Se trata, en general, de lenguajes
interpretados, con un sistema de tipos muy dinámico, orientados a objetos,
y con distintas facilidades para manipular el DOM (Document Object Model)
subyancente en las páginas HTML. Concretamente, se verán en clase los
fundamentos del lenguaje de script más popular: JavaScript. Veremos algunos
ejemplos típicos de programación en dicho lenguaje y se abordará el
desarrollo de interfaces WWW empleando JavaScript.
Temario
La evaluación se realizará principalmente a partir de las prácticas desarrolladas en el laboratorio (un 60% de la nota final). Además, habrá un examen teórico sobre los contenidos de la asignatura (un 40% de la nota final) que podrá sustituirse por la realización de trabajos prácticos (previa aprobación de los mismos por el profesor). También existe la posibilidad de realizar la exposición de trabajos voluntarios en clase para subir nota.