2nd Edition

Programming Language Explorations

    426 Pages 37 B/W Illustrations
    by Chapman & Hall

    426 Pages 37 B/W Illustrations
    by Chapman & Hall

    Programming Language Explorations helps its readers gain proficiency in programming language practice and theory by presenting both example-focused, chapter-length explorations of fourteen important programming languages and detailed discussions of the major concepts transcending multiple languages. A language-by-language approach is sandwiched between an introductory chapter that motivates and lays out the major concepts of the field and a final chapter that brings together all that was learned in the middle chapters into a coherent and organized view of the field.

    Each of the featured languages in the middle chapters is introduced with a common trio of example programs and followed by a tour of its basic language features and coverage of interesting aspects from its type system, functional forms, scoping rules, concurrency patterns, and metaprogramming facilities. These chapters are followed by a brief tour of over 40 additional languages designed to enhance the reader’s appreciation of the breadth of the programming language landscape and to motivate further study.

    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 practices, keeps a focus on cutting-edge programming patterns, and provides many runnable examples, all of which are available in the book’s companion GitHub repository. The combination of conceptual overviews with exploratory example-focused coverage of individual programming languages provides its readers with the foundation for more effectively authoring programs, prompting AI programming assistants, and, perhaps most importantly, learning—and creating—new languages.

     

    Preface

    Chapter 0 Welcome

    Chapter 1 Lua

    Chapter 2 JavaScript

    Chapter 3 TypeScript

    Chapter 4 Python

    Chapter 5 Ruby

    Chapter 6 Java

    Chapter 7 Kotlin

    Chapter 8 Julia

    Chapter 9 Clojure

    Chapter 10 Haskell

    Chapter 11 Go

    Chapter 12 C

    Chapter 13 Swift

    Chapter 14 Rust

    Chapter 15 Additional Languages

    Chapter 16 Concepts

    Glossary

    Bibliography

    Index

    Biography

    Ray Toal is Professor of Computer Science at Loyola Marymount University in Los Angeles where he has been teaching since 1986. He received his Ph.D. from UCLA in 1993 in semantics, with minors in theoretical computer science and database systems. His current research interests are in programming language design, compilers, APIs, and large scale infrastructure. He has consulted for a number of companies in the Los Angeles area, including Citysearch/CityGrid, Medaxis, Friendbuy, Handmade Mobile, M-GO, and Criteo. Ray has authored three books on programming languages and has been involved with projects at the Human Advancement Research Community (HARC).