Like programs, programming languages are not only mathematical objects but also software engineering artifacts. Describing the semantics of real-world languages can help bring language theory to bear on both exciting and important real-world problems. Achieving this is not purely a mathematical task, but equally one of (semantic) engineering.
@inproceedings{guha:semantic-gap,
author = "Arjun Guha and Shriram Krishnamurthi",
title = "Minding the Semantic Gap: Engineering Programming Language
Theory",
year = 2011,
booktitle = "Workshop on the Future of Software Engineering Research
(FoSER)"
}