Modern Programming Languages: A Practical Introduction, 2nd Ed.
  • Modern Programming Languages: A Practical Introduction, 2nd Ed.

Modern Programming Languages: A Practical Introduction, 2nd Ed.

No tax

Author: Adam Brooks Webber

Copyright: 2010

Binding: Paperback

Page Count: 592



Security policy


Delivery policy


Return policy


NOW AVAILABLE AS AN E-BOOK (Note on e-book edition: For $30, you get access to this book on any computer or mobile device connected to the Internet. This access does not expire.)

This book introduces the concepts of diverse programming languages for students who have already mastered basic programming in at least one language. It is suitable for use in an undergraduate course for computer science and computer engineering majors. It treats all the knowledge units in the area of programming languages that appear in the ACM’s Computer Science Curriculum 2008, and introduces the core units thoroughly. It gives programming exercises in three different language paradigms. Philosophically, it is in complete agreement with the ACM report.
This book has two distinct kinds of chapters: practical and theoretical. The practical chapters are self-contained primers in three very different programming languages—ML, Java, and Prolog—at least two of which will be new languages for almost all students at this level. Students receive a quick introduction to the linguistically unique parts of each language and enough simple programming exercises to develop a feel for the programming paradigm of the language. There are excellent free implementations of all these languages available on a variety of platforms, including Windows, Unix, and Macintosh; the book’s Web site at has instructions on how to get them.
The theoretical chapters present the underlying principles of programming languages. They are interleaved with the practical chapters in an order that allows ideas to be illustrated using examples in the newly learned languages and allows theoretical topics to be covered when their relevance to programming practice will be most evident. For example, Chapter 23 deals with formal semantics by starting with simple interpreters written in Prolog. These interpreters lead naturally to language definitions using big-step operational semantics. That is why formal semantics occurs so late in the book: only at the end of the Prolog tutorial are students ready to be led from Prolog exercises to this related, abstract topic.

Table of Contents: 

  1. Programming Languages
  2. Defining Program Syntax
  3. Where Syntax Meets Semantics
  4. Language Systems
  5. A First Look at ML
  6. Types
  7. A Second Look at ML
  8. Polymorphism
  9. A Third Look at ML
  10. Scope
  11. A Fourth Look at ML
  12. Memory Locations for Variables
  13. A First Look at Java
  14. Memory Management
  15. A Second Look at Java
  16. Object Orientation
  17. A Third Look at Java
  18. Parameters
  19. A First Look at Prolog
  20. A Second Look at Prolog
  21. Cost Models
  22. A Third Look at Prolog
  23. Formal Semantics
  24. The History of Programming Languages