CONCEPTS OF PROGRAMMING LANGUAGES - ROBERT W SEBESTA (PEARSON EDUCATION, 2005)