There and Back Again

Last fall it became clear to me that it was “now or never” time for completing Practical Foundations for Programming Languages, so I put just about everything else aside and made the big push to completion.  The copy editing phase is now complete, the cover design (by Scott Draves) is finished, and its now in the final stages of publication.  You can even pre-order a copy on Amazon; it’s expected to be out in November.

I can already think of ways to improve it, but at some point I had to declare victory and save some powder for future editions.  My goal in writing the book is to organize as wide a body of material as I could manage in a single unifying framework based on structural operational semantics and structural type systems.  At over 600 pages the manuscript is at the upper limit of what one can reasonably consider a single book, even though I strived for concision throughout.

Quite a lot of the technical development is original, and does not follow along traditional lines.  For example, I completely decouple the concepts of assignment, reference, and storage class (heap or stack) from one another, which makes clear that one may have references to stack-allocated assignables, or make use of heap-allocated assignables without having references to them.  As another example, my treatment of concurrency, while grounded in the process calculus tradition, coheres with my treatment of assignables, but differs sharply from conventional accounts (and suffers none of their pathologies in the formulation of equivalence).

It will come as no surprise that I give short shrift to conventional formulations of PL concepts, and avoid the computational cladistics that characterizes many texts in the area.  For example, it seems to me that the phrase “object-oriented” has little or no definite meaning (it is mostly an expression of approval), and I therefore find no use for it in PFPL (with the exception of the end notes).  This will come as a shock to many readers, since it is not at all in line with conventional wisdom, but so much the worse for conventional wisdom.

With the first edition behind me, I intend to resume blogging.  I have a few topics lined up in my head, including an update on our new undergraduate curriculum at Carnegie Mellon (going smashingly), and more posts on fundamentals of logic and PL’s.  So stay tuned!

About these ads

12 Responses to There and Back Again

  1. Congrats! The various drafts were already a great resource — I am looking forward to the complete book.

  2. Congratulations! Pre-ordered it from Amazon.

  3. Nick Barnes says:

    I see the UK pub date is the same. Looking forward to it.

  4. Congrats on finishing the book! It was useful in its early stages during 15-312 and continues to be useful to me to this day. This book and the ideas it contains have changed the way I think about programming.

  5. Just downloaded the PDF version and eager to read it. Thanks.

  6. Amazon recommends to me this related reading:

    COVERGIRL® Clean Make Up – Bring out Your True Beauty with a COVERGIRL Legendary Face Foundation

    ;)

  7. Yay! Have been waiting a long time….

  8. Awesome! I’ve already found parts of your earlier drafts useful as an introduction to students new to PL. I look forward to the full book…

  9. This looks like an amazingly thorough book, and it reads like a math book rather than a programming book (that is a very good thing.) Thank you for the effort, and for openly releasing this book. My kindle is going to be quite busy for a while.

  10. Hi Robert. Do you plan on releasing a kindle version of your book? Cheers.

    • Under discussion with the publisher. The problem is that the Kindle, which I love for reading novels, is really bad for technical books. You basically have to treat it like a magnifying glass, and it’s no fun to use.

  11. Congrats! Seriously!! Really looking forward to reading it.

    And I know *exactly* what that “finally done!” feeling feels like, and it’s great. I’m looking forward to it myself. Jenny and I are working on our next (fifth! jeez!) book, on agile development.

    BTW — if my experience is a guide, that feeling that you get when you think of ways you can improve it will probably never go away. :)

Follow

Get every new post delivered to your Inbox.

Join 107 other followers

%d bloggers like this: