Principles of Programming Languages



Bookstore > Books > Principles of Programming Languages

Principles of Programming Languages

Free Download
eBookFree
Rating
AuthorsMike Grant, Zachary Palmer, Scott Smith
PublisherSelf-publishing
Published2020
Pages163
LanguageEnglish
FormatPaper book / ebook (PDF)
EBook Hardcover Paperback

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.




Similar Books


History of Programming Languages

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

Masterminds of Programming

Masterminds of Programming

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

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

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

Building Telegram Bots

Building Telegram Bots

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

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

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

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