Synopsis:
Computer scientists often need to learn new programming languages quickly. The best way to prepare for this is to understand the foundational principles that underlie even the most complicated industrial languages. This text for an undergraduate programming languages course distills great languages and their design principles down to easy-to-learn 'bridge' languages implemented by interpreters whose key parts are explained in the text. The book goes deep into the roots of both functional and object-oriented programming, and it shows how types and modules, including generics/polymorphism, contribute to effective programming. The book is not just about programming languages; it is also about programming. Through concepts, examples, and more than 300 practice exercises that exploit the interpreter, students learn not only what programming-language features are but also how to do things with them. Substantial implementation projects include Milner's type inference, both copying and mark-and-sweep garbage collection, and arithmetic on arbitrary-precision integers.
About the Author:
Norman Ramsey is Associate Professor of Computer Science at Tufts University. Since earning his Ph.D. at Princeton, he has worked in industry and has taught programming languages, advanced functional programming, programming-language implementation, and technical writing at Purdue, the University of Virginia, and Harvard as well as Tufts. He has received Tufts's Lerman-Neubauer Prize, awarded annually to one outstanding undergraduate teacher. He has also been a Hertz Fellow and an Alfred P. Sloan Research Fellow. His implementation credits include a code generator for the Standard ML of New Jersey compiler and another for the Glasgow Haskell Compiler.
"About this title" may belong to another edition of this title.