This course is largely self-contained but it would be helpful
to read a textbook on the subject to get another perspective
and to broaden your understanding. Of the books listed below
Mitchell's book is fairly widely used for undergraduate courses
in programming languages. The other books are a little more
advanced and more commonly used for first-year graduate students.
All are truly excellent.
|
Concepts in Programming Languages,
by John C. Mitchell. (Recommended)
This is an excellent overview of programming
languages by one of the leaders in the field,
John Mitchell. It was developed for an
undergraduate course on programming languages
taught at Stanford. Our course will not follow
this book directly, but there is a good deal of
overlap and the book can add a lot to your
understanding of programming languages.
CIPL is on reserve in the O'Neill Library and it is available
through Amazon,
$82 new, $47 used.
|
|
|
|
Practical Foundations for Programming Languages,
by Robert W. Harper. (Advanced Study, Not required but highly recommended)
This is the comprehensive vision of
programming languages and software by the single
most knowledgable person in the world on the
subject. To quote the author, his aim for the
book: "a comprehensive framework for formulating
and analyzing a broad range of ideas in
programming languages. If language design and
programming methodology are to advance from a
trade-craft to a rigorous discipline, it is
essential that we first get the definitions
right. Then, and only then, can there be
meaningful analysis and consolidation of ideas."
Anything at all by Harper is worth reading
carefully.
PFPL is available through Cambridge University Press or through Amazon. There is a free abridged version available through
the author's website.
|
|
|
|
Types and Programming Languages,
by Benjamin C. Pierce. (Advanced Study)
TAPL is an excellent but more advanced book by another
leader in the field. TAPL provides a more theoretical and
less implementation-oriented approach to PL than our course.
It would be a good entree to graduate study in the field.
TAPL is on reserve in the O'Neill Library and is available through
Amazon
for about $51, a great investment for the serious computer science student.
|
|
|
|
Software Foundations,
by Benjamin C. Pierce. (Advanced Study)
Technically speaking, Software
Foundations isn't a textbook for an
undergraduate course in programming
languages. But it is quite relevant. To quote
the author, the book covers "... the
mathematical underpinnings of reliable
software. Topics include basic concepts of
logic, computer-assisted theorem proving, the
Coq proof assistant, functional programming,
operational semantics, Hoare logic, and static
type systems. The exposition is intended for a
broad range of readers, from advanced
undergraduates to PhD students and
researchers. No specific background in logic or
programming languages is assumed, though a
degree of mathematical maturity will be
helpful."
This book is freely avaiable.
|
|
|
Created on 01-09-2017 19:04.
|