|Digital List Price:||$33.99|
|Print List Price:||$39.99|
|Kindle Price:|| $25.49 |
Save $14.50 (36%)
Your Memberships & Subscriptions
Understanding Computation: From Simple Machines to Impossible Programs 1st Edition, Kindle Edition
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 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 general-purpose computers
- Perform complex calculations, using simple languages and cellular automata
- Determine which programming language features are essential for computation
- Examine how halting and self-referencing make some computing problems unsolvable
- Analyze programs by using abstract interpretation and type systems
About the Author
Tom is a computer scientist and programmer, and the founder of Codon, a digital product consultancy in London. He works as a consultant, mentor and trainer, helping companies to improve the quality and clarity of their approach to creating software products, usually on the web. He has lectured on optimizing compilers at the University of Cambridge, co-organizes the Ruby Manor conference, and is a member of the London Ruby User Group.--This text refers to the paperback edition.
- ASIN : B00CT3C4IM
- Publisher : O'Reilly Media; 1st edition (May 15, 2013)
- Publication date : May 15, 2013
- Language : English
- File size : 3446 KB
- Simultaneous device usage : Unlimited
- Text-to-Speech : Enabled
- Screen Reader : Supported
- Enhanced typesetting : Enabled
- X-Ray : Not Enabled
- Word Wise : Not Enabled
- Print length : 334 pages
- Lending : Not Enabled
- Best Sellers Rank: #1,259,423 in Kindle Store (See Top 100 in Kindle Store)
- Customer Reviews:
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Short and pithy would have been better. Worth a read though.
There are some code examples in this book that are not explained and are hard to understand, maybe the book would be better off without examples the author does not plan to explain adequately, or code examples that do not help the reader understand the subject being treated.
Most of the code examples that are not thoroughly explained are *extra* content, but I think they degrade the quality of the book instead of improve it.
However, I feel that Mr. Stuart (much like all other authors of complicated, technical books I've read) falls into the trap of following a very predefined path for his line of reasoning, which leaves the reader with the feeling (at least, this was the case for me) that this is 'all planned out' and that there's a lot of information he intentionally leaves out or doesn't mention (this might not even be the case, but it still FEELS like this - which is a problem). If you have no idea what I'm talking about, read the book, and if you still don't know what I'm talking about then feel free to shake your head condescendingly.
Now, my interest in this particular field of computer science is cursory at best, which might not make me the ideal fit for Mr. Stuart's target audience, so if you get a major hard-on when syntax trees are generated (seek help) then you might get more out of this book than me.
That being said, he managed to peak my interest in concepts I felt were mind-numbingly boring in university (such as non-deterministic and deterministic finite automata), so kudos to Mr. Stuart for that. This book is a possible gold mine for the more interested pupil, especially when considering the problem of Turing completeness (in which he completely lost me, mid-chapter I put the book down and went to the fridge and rewarded myself with a beer for my efforts), reasoning about programs and (wait for it) generation of syntax trees.
All in all a good read, if you're into this sort of thing.
Top reviews from other countries
I have to confess that my Ruby isn't all that great though and I have to read and re-read the code blocks a lot. My verdict would be that you should speak Ruby quite well _or_ have some basic understanding of computation before you pick this one up. If you lack both, this book might be a little too hard for an enjoyable read.