Все залежить від того, наскільки глибоко ви хочете пройти і скільки ви вже знаєте. Для початківця книга Вінкселя - це справді приємно, але так, це не знайомить вас із найсучаснішою семантикою, як це було написано близько 20 років тому. Тим не менш, це все-таки хороше перше вступ до цієї теми. Можливо, варто також зазначити, що Т. Ніпков формалізував значну частину книги Вінскеля в Ізабелі / HOL, дивіться тут . Тож якщо ви хочете навчитися використовувати інтерактивних помічників доказування разом із розумінням семантики мов програмування, у вас є багато узгодженого матеріалу.
Інші більш досконалі книги:
Гантер, « Семантика мов програмування» , більш досконала книга, присвячена денотаційній семантиці, підходу до семантики, який не виправдав очікувань. Зосереджується на суто функціональних заходах і ігнорує одночасність. Це книга, з якої я навчав себе семантиці як студент, і заднім часом я хотів би використати книгу Вінкселя. Gunter не є легким для читання для новачків.
Домени та лямбда-калькулятори від Amadio та Curien. Ще одна книга, написана більше в доменно-теоретичній традиції, хоча в ній обговорюються процеси обчислення.
Книги Джона Мітчелла, про які вже згадувалося вище. Вони також здебільшого стосуються послідовних обчислень.
Книги, такі як TAPL Pierce, дуже приємні, але вузько зосереджені на одному аспекті мов програмування, а саме на типах, настільки важливих, як це є. Я б не рекомендував це як перше вступ до загальної області мов програмування, але його обов’язково читати для всіх, хто хоче дізнатися про типи.
Правду кажучи, я думаю, що наразі не існує сучасної вступної книги з мовної семантики, яка відображає суттєвий прогрес останніх десятиліть: її рішучий відхід від денотаційних методів та послідовних обчислень до паралельності (обчислення процесів та семантика ігор) , семантика аксіоматики та використання інтерактивних асистентів доказування в верифікації.
Оновлення 22. квітня 2014 року: Тобіас Ніпков та Гервін Кляйн опублікували нову книгу
який можна розглядати як "Вінскель в Ізабелі / HOL". Це вступ до семантики мов програмування (в першу чергу операційних та аксіоматичних), але на відміну від попередніх підходів на основі паперу та паперу, ця книга виражає всю свою математику в Ізабелі / HOL. Іншими словами, це водночас книга про доказ теореми.
Книга є абсолютно новою, тому я не використовував для викладання, але вона виглядає справді підходящою як вступ, який знаходиться на нижчому рівні, ніж Software Foundation
від Pierce et al.