Todo depende de qué tan profundo quieras llegar y cuánto ya sabes. Para un principiante, el libro de Winksel es realmente agradable, pero sí, no te está presentando el estado de la semántica tal como se escribió hace unos 20 años. Sin embargo, sigue siendo una buena primera introducción al tema. También podría valer la pena señalar que T. Nipkow ha formalizado una parte sustancial del libro de Winskel en Isabelle / HOL, ver aquí . Entonces, si desea aprender utilizando asistentes de prueba interactivos junto con la comprensión de la semántica de los lenguajes de programación, tiene mucho material coherente para aprovechar.
Otros libros que son más avanzados son:
Gunter, Semántica de lenguajes de programación , un libro más avanzado que se centra en la semántica denotacional, un enfoque de la semántica, que no ha estado a la altura de las expectativas. Se centra en lanugages puramente funcionales e ignora la concurrencia. Este es el libro del que me enseñé semántica cuando era estudiante y, en retrospectiva, desearía haber usado el libro de Winksel. Gunter no es una lectura fácil para un principiante.
Dominios y cálculos lambda de Amadio y Curien. Otro libro que viene escrito más en la tradición teórica del dominio, aunque discute los cálculos del proceso.
Los libros de John Mitchell que ya se han mencionado anteriormente. También son principalmente sobre computación secuencial.
Los libros como TAPL de Pierce son muy agradables, pero se centran estrechamente en un aspecto de los lenguajes de programación, a saber, los tipos, tan importantes como eso. No lo recomendaría como una primera introducción al área general de lenguajes de programación, pero es obligatorio leer para cualquiera que quiera aprender sobre tipos.
A decir verdad, creo que actualmente no hay un libro introductorio actualizado sobre semántica del lenguaje que refleje el progreso sustancial que ha visto la última década, con su cambio decisivo de los métodos denotacionales y el cálculo secuencial a la concurrencia (cálculo de procesos y semántica de juegos) , semántica axiomática y el uso de asistentes de prueba interactivos en la verificación.
Actualización 22. Abril 2014: Tobias Nipkow y Gerwin Klein han publicado un nuevo libro
que se puede ver como 'Winskel en Isabelle / HOL'. Es una introducción a la semántica de los lenguajes de programación (principalmente operativos y axiomáticos), pero a diferencia de los enfoques anteriores basados en lápiz y papel, este libro expresa todas sus matemáticas en Isabelle / HOL. En otras palabras, es al mismo tiempo un libro sobre demostración de teoremas.
El libro es completamente nuevo, así que no lo he usado para enseñar, pero parece realmente adecuado como una introducción que se presenta en un nivel más bajo que Software Foundations
de Pierce et al.