This new edition includes the object-oriented paradigm and modern language. This text is designed to provide students with a broad and deep understanding of the major issues in both design and implementation of modern programming languages and a basic introduction to the underlying paradigms on which these languages are based. The emphasis throughout is on fundamental concepts students learn important ideas, not minor language differences.