This clearly written textbook introduces the reader to the three styles of programming, examining object-oriented/imperative, functional, and logic programming. The focus of the text moves from highly prescriptive languages to very descriptive languages, demonstrating the many and varied ways in which more » we can think about programming. Designed for interactive learning both inside and outside of the classroom, each programming paradigm is highlighted through the implementation of a non-trivial programming language, demonstrating when each language may be appropriate for a given problem.
Features: includes review questions and solved practice exercises, with supplementary code and support files available from an associated website; provides the foundations for understanding how the syntax of a language is formally defined by a grammar; examines assembly language programming using CoCo; introduces C++, Standard ML, and Prolog; describes the development of a type inference system for the language Small. « less
A Pragmatic Guide to Learning Programming Languages
You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language more » is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly. « less