Book description
Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context you’ll recognize, helping you appreciate why these ideas matter and how they can inform your daytoday programming.
Rather than use mathematical notation or an unfamiliar academic programming language like Haskell or Lisp, this book uses Ruby in a reductionist manner to present formal semantics, automata theory, and functional programming with the lambda calculus. It’s ideal for programmers versed in modern languages, with little or no formal training in computer science.
 Understand fundamental computing concepts, such as Turing completeness in languages
 Discover how programs use dynamic semantics to communicate ideas to machines
 Explore what a computer can do when reduced to its bare essentials
 Learn how universal Turing machines led to today’s generalpurpose computers
 Perform complex calculations, using simple languages and cellular automata
 Determine which programming language features are essential for computation
 Examine how halting and selfreferencing make some computing problems unsolvable
 Analyze programs by using abstract interpretation and type systems
Table of contents
 Preface
 1. Just Enough Ruby
 I. Programs and Machines

II. Computation and Computability
 6. Programming with Nothing
 7. Universality Is Everywhere
 8. Impossible Programs
 9. Programming in Toyland
 A. Afterword
 Index
 About the Author
 Colophon
 Copyright
Product information
 Title: Understanding Computation
 Author(s):
 Release date: May 2013
 Publisher(s): O'Reilly Media, Inc.
 ISBN: 9781449329273
You might also like
book
C++ Crash Course
Upgrade your Code with C++ C++ is one of the most widely used languages for realworld …
book
Essential Algorithms, 2nd Edition
A friendly introduction to the most useful algorithms written in simple, intuitive English The revised and …
book
Learning SQL, 3rd Edition
As data floods into your company, you need to put it to work right away—and SQL …
book
HandsOn Machine Learning with ScikitLearn, Keras, and TensorFlow, 2nd Edition
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. …