PROGRAMMING LANGUAGES - KENNETH.C, LOUDEN (2008)