Principles of Programming Languages
eBook | Free |
Rating | |
Authors | Mike Grant, Zachary Palmer, Scott Smith |
Publisher | Self-publishing |
Published | 2020 |
Pages | 163 |
Language | English |
Format | Paper book / ebook (PDF) |
In this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and variants, mutable state, exceptions, objects and classes, and types. We also study language implementations, both through language interpreters and language compilers. Throughout the book we write small interpreters for toy languages, and in Chapter 8 we write a principled compiler. We define type checkers to define which programs are well-typed and which are not. We also take a more precise, mathematical view of interpreters and type checkers, via the concepts of operational semantics and type systems. These last two concepts have historically evolved from the logician's view of programming.
The material has evolved from lecture notes used in a programming languages course for juniors, seniors, and graduate students at Johns Hopkins University. While the book uses formal mathematical techniques such as operational semantics and type systems, it does not emphasize proofs of properties of these systems. We will nonetheless sketch the intuitions of some proofs.
- Mike Grant
- Zachary Palmer
- Scott Smith
Similar Books
History of Programming Languages
by Thomas J. Bergin, Richard G. Gibson
This specially prepared work comprises a living archive of important programming languages, described by the people most instrumental in their creation and development. Drawn from the ACM/SIGPLAN Second History of Programming Languages Conference, this volume, like the earlier book from the first such conference (HOPL), conveys the motiva...
Price: $40.94 | Publisher: Addison-Wesley | Release: 1996
by Federico Biancuzzi, Chromatic
Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. In this unique collection, you'll learn about the processes that led to specific design decisions, including the goals they had in mind, the trade-offs they had to make, and how their experience...
Price: $7.54 | Publisher: O'Reilly Media | Release: 2009
Unifying Theories of Programming and Formal Engineering Methods
by Zhiming Liu, Jim Woodcock, Huibiao Zhu
This book presents 5 tutorial lectures by leading researchers given at the ICTAC 2013 Software Engineering School on Unifying Theories of Programming and Formal Engineering Methods, held in Shanghai, China in August 2013.The lectures are aimed at postgraduate students, researchers, academics, and industrial engineers. They cover topics su...
Price: $59.64 | Publisher: Springer | Release: 2013
Practical Foundations for Programming Languages
by Robert Harper
Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absenc...
Free ebook | Publisher: Self-publishing | Release: 2012
by Nicolas Modrzyk
Learn about bot programming, using all the latest and greatest programming languages, including Python, Go, and Clojure, so you can feel at ease writing your Telegram bot in a way that suits you.This book shows how you can use bots for just about everything: they connect, they respond, they enhance your job search chances, they do technic...
Price: $25.13 | Publisher: Apress | Release: 2019
Learn Programming in Python with Cody Jackson
by Cody Jackson
Python is a cross-platform language used by organizations such as Google and NASA. It lets you work quickly and efficiently, allowing you to concentrate on your work rather than the language. Based on his personal experiences when learning to program, Learn Programming in Python with Cody Jackson provides a hands-on introduction to comput...
Price: $34.99 | Publisher: Packt Publishing | Release: 2018
Seven Languages in Seven Weeks
by Bruce A. Tate
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 is on that list, you'll bro...
Price: $12.86 | Publisher: The Pragmatic Programmers | Release: 2010
Transactions on Pattern Languages of Programming III
by James Noble, Ralph Johnson
The Transactions on Pattern Languages of Programming subline aims to publish papers on patterns and pattern languages as applied to software design, development, and use, throughout all phases of the software life cycle, from requirements and design to implementation, maintenance and evolution. The primary focus of this LNCS Transactions ...
Publisher: Springer | Release: 2013