Foundations of Programming Languages
Foundations of Programming Languages — учебник из серии Undergraduate Topics in Computer Science, предназначенный для студентов бакалавриата и всех, кто хочет глубже понять, как устроены языки программирования и какие теоретические принципы лежат в их основе.
Книга охватывает три ключевые парадигмы программирования: объектно-ориентированное/императивное, функциональное и логическое программирование. Автор показывает, как эти парадигмы реализуются в различных языках, и объясняет, какие вычислительные модели за ними стоят.
Особое внимание уделяется практическому изучению языков через реализацию интерпретаторов и виртуальных машин. В тексте разрабатывается стековая виртуальная машина CoCo, основанная на виртуальной машине Python, что позволяет читателям увидеть, как программы исполняются на низком уровне.
Книга содержит множество примеров и задач, а также полностью проработанные решения, что делает её подходящей как для самостоятельного изучения, так и для использования в рамках одно- или двухсеместрового курса. Материал помогает программистам лучше предсказывать поведение своих программ и осваивать новые языки и инструменты на протяжении всей карьеры.
