Programming Language Explorations

Ray Toal, Rachel Rivera, Alexander Schneider, Eileen Choe

September 20, 2016 by Chapman and Hall/CRC
Reference - 344 Pages - 50 B/W Illustrations
ISBN 9781498738460 - CAT# K26586


Add to Wish List
FREE Standard Shipping!


  • Explores the most modern versions of several established languages as well as several up-and-coming languages
  • Uses a language-by-language approach to study the programming language landscape, featuring twelve in-depth language explorations followed by a brief tour of over two dozen additional languages
  • Focuses on fundamental language concepts and the practices underlying language design and use
  • Includes end of chapter summaries, pointers to open source projects, references for further study, and motivating exercises
  • Provides code, together with test scripts that show how to run the examples, in an online repository at Errata, additional exercises, and bonus material can be found at the companion website



Programming Language Explorations is a tour of several modern programming languages in use today. The book teaches fundamental language concepts using a language-by-language approach. As each language is presented, the authors introduce new concepts as they appear, and revisit familiar ones, comparing their implementation with those from languages seen in prior chapters. The goal is to present and explain common theoretical concepts of language design and usage, illustrated in the context of practical language overviews.

Twelve languages have been carefully chosen to illustrate a wide range of programming styles and paradigms. The book introduces each language with a common trio of example programs, and continues with a brief tour of its basic elements, type system, functional forms, scoping rules, concurrency patterns, and sometimes, metaprogramming facilities.

Each language chapter ends with a summary, pointers to open source projects, references to materials for further study, and a collection of exercises, designed as further explorations. Following the twelve featured language chapters, the authors provide a brief tour of over two dozen additional languages, and a summary chapter bringing together many of the questions explored throughout the text.

Targeted to both professionals and advanced college undergraduates looking to expand the range of languages and programming patterns they can apply in their work and studies, the book pays attention to modern programming practice, covers cutting-edge languages and patterns, and provides many runnable examples, all of which can be found in an online GitHub repository. The exploration style places this book between a tutorial and a reference, with a focus on the concepts and practices underlying programming language design and usage. Instructors looking for material to supplement a programming languages or software engineering course may find the approach unconventional, but hopefully, a lot more fun.