Understanding Computation Impossible Code and the Meaning of Programs
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 day-to-day 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 functional programming and lambda calculus. It’s ideal for programmers versed in modern languages, with little or no formal training in computer science. Discover the theoretical underpinnings of your work with Understanding Computation. Learn fundamental computing concepts, such as Turing equivalence in languages Discover how programs can handle difficult or impossible problems Explore how many features a programming language needs Examine how computers can help you write correct programs Understand how to build data structures without mutation of state Learn how programmers can make a simple language like the lambda calculus actually run on a computer
Reviews
Georgi Mitrev@gmitrev
Cory Forsyth@bantic