Tudo depende da profundidade que você quer ir e do quanto você já sabe. Para um iniciante, o livro de Winksel é muito bom, mas sim, não está apresentando o estado da arte da semântica, como foi escrito há cerca de 20 anos. No entanto, ainda é uma boa primeira introdução ao assunto. Também vale a pena ressaltar que T. Nipkow formalizou uma parte substancial do livro de Winskel em Isabelle / HOL, veja aqui . Portanto, se você quiser aprender a usar assistentes interativos de prova, além de entender a semântica das linguagens de programação, terá muito material coerente para usar.
Outros livros mais avançados são:
Gunter, Semântica das Linguagens de Programação , um livro mais avançado, focado na semântica denotacional, uma abordagem da semântica, que não atendeu às expectativas. Concentra-se em linguagens puramente funcionais e ignora a simultaneidade. Este é o livro do qual eu me ensinei semântica na graduação e, em retrospecto, eu gostaria de ter usado o livro de Winksel. Gunter não é uma leitura fácil para iniciantes.
Domínios e lambda-calculi de Amadio e Curien. Outro livro escrito mais na tradição teórica do domínio, embora discuta o cálculo do processo.
Livros de John Mitchell que já foram mencionados acima. Eles também são principalmente sobre computação seqüencial.
Livros como o TAPL de Pierce são muito bons, mas se concentram estreitamente em um aspecto das linguagens de programação, a saber, tipos, por mais importantes que sejam. Eu não o recomendaria como uma primeira introdução à área geral de linguagens de programação, mas é obrigatório ler para quem quiser aprender sobre tipos.
Verdade seja dita, acho que atualmente não há um livro introdutório atualizado sobre semântica de idiomas que reflita o progresso substancial que a década passada viu, com sua mudança decisiva dos métodos denotacionais e da computação seqüencial para a simultaneidade (cálculo de processos e semântica de jogos) , semântica axiomática e o uso de assistentes de prova interativos na verificação.
Atualização 22. Abril 2014: Tobias Nipkow e Gerwin Klein publicaram um novo livro
que pode ser visto como 'Winskel em Isabelle / HOL'. É uma introdução à semântica das linguagens de programação (principalmente operacional e axiomática), mas, ao contrário das abordagens anteriores baseadas em caneta e papel, este livro expressa toda a sua matemática em Isabelle / HOL. Em outras palavras, é ao mesmo tempo um livro sobre prova de teoremas.
O livro é novo em folha, por isso não usei para ensinar, mas parece realmente adequado como uma introdução que é lançada em um nível mais baixo do que o Software Foundations
de Pierce et al.