Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Programming language explorations
Toal R., Rivera R., Schneider A., Choe E., CRC Press, Inc., Boca Raton, FL, 2017. Type: Book (9781498738460)
Date Reviewed: May 31 2017

As a computer scientist, one is often subjected to some colleague or student launching into an animated description of the latest programming language that has caught their fancy. A recent visitor gave a seminar where her eventual choice of a language for her project was described as a series of speed dates with different languages. It seems that each day sees the launch of a new language, and when this launch happens under the auspices of a popular corporation, whether behind asocial network or a desirable must-have device, there is blanket coverage of the language in blogs and online publications, usually to be dropped into oblivion in a few days. Keeping up with trends in programming languages is a difficult task, and often relies on highly subjective, informal, and non-reviewed descriptions on the Internet.

This book provides some signposting and a navigable route through the space of programming languages. The idea is to teach several programming styles and paradigms through languages that embody them, and to also show how these paradigms and concepts fit within well-established general languages that have a fine reputation and that may be useful to working programmers. The approach is both practical and academic, and this makes the book very readable and useful.

Twelve chapters cover 12 different languages. These are not necessarily the most used languages or the most discussed. While the set of languages includes Java, JavaScript, and Python, it includes more obscure ones such as Elm and Erlang. The choice and ordering of the languages is justified in the preface as allowing a story to be told, and it allows ideas about programming to be introduced naturally. This seems to me to be an excellent decision and adds richness to the whole volume.

All chapters follow a standard pattern: a first look at the unique features of the language, example code to implement customary tasks (loops, calculations, and input/output (I/O)), and a succinct description of the language. This is then followed by a more in-depth coverage of the unique features, with further implications and pitfalls being acknowledged. Each chapter concludes with a wrap-up section, which again provides a summary of the unique features, pointers as to where to go next in learning more about the language, and finally a set of exercises at the level of an upper-undergraduate student.

These 12 chapters are followed by more interesting material. There is a 40-page chapter on additional languages, with some description of historically relevant languages, others that didn’t make the cut of the main 12, and even some of the so-called esoteric languages. There is also a useful glossary and bibliography to help in further reading.

All in all, this book makes for a great browse, an interesting read if one wishes to learn about different programming paradigms and languages, and a very clear and well-organized textbook. The language is crisp and concise, and assumes a familiarity with programming. I teach an upper-undergraduate module on the principles of programming languages, and plan to make use of this book extensively to help give students insights into the vast but interesting landscape of programming languages.

Reviewer:  Sara Kalvala Review #: CR145311 (1708-0497)
Bookmark and Share
  Featured Reviewer  
 
Language Constructs and Features (D.3.3 )
 
 
Language Classifications (D.3.2 )
 
 
Semantics Of Programming Languages (F.3.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Language Constructs and Features": Date
A stub generator for multilanguage RPC in heterogeneous environments
Gibbons P. IEEE Transactions on Software Engineering 13(1): 77-87, 1987. Type: Article
Aug 1 1987
Essentials of programming languages
Friedman D. (ed), Haynes C., Wand M., MIT Press, Cambridge, MA, 1992. Type: Book (9780262061452)
Feb 1 1994
Symbolic computing with Lisp
Cameron R., Dixon A., Prentice-Hall, Inc., Upper Saddle River, NJ, 1992. Type: Book (9780138778460)
Apr 1 1994
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy