Date finished: 2001-01-26
[book home page] [author home page] [Online version] This book is a good survey of the varying features that have been proposed and implemented in programming languages over the years. Finkel definitely has a hacker's fascination with languages, and writes well as a bonus, though later chapters do tend to be murkier; in particular the final chapter on formal semantics is tedious though, considering its subject, how could it not be dull? The book surveys common features, such as control structures and type systems, and classes of language classes, such as logic, functional, dataflow, and so forth.
Along the way he also examines some exotic features, usually specific to one particular language. For example, the section on Io continuations is amusing. Io is a language described in a paper by Raph Levien, who's now the current maintainer of Ghostscript, Advogato.org, and other things. Io is not only purely functional, but the only idea it contains is... continuations! One example given is a linked list implementation in Io, where an empty list just calls its first parameter which is a continuation, while a list with content has two parameters, the first element of the list and the rest of the list. I started trying to follow the details of how that linked list implementation worked (it's only 14 lines long), but then my head exploded and I had to stop. The book is great fun to a language-oriented programmer, and is well worth reading.
Tagged: programming languages
%T Advanced Programming Language Design %@ 2001-01-26 %A Finkel, Raphael %K programming languages