Understanding Computation

From Simple Machines to Impossible Programs

Specificaties
Paperback, 317 blz. | Engels
O'Reilly | 1e druk, 2013
ISBN13: 9781449329273
Rubricering
Hoofdrubriek : Computer en informatica
O'Reilly 1e druk, 2013 9781449329273
Verwachte levertijd ongeveer 16 werkdagen

Samenvatting

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

Specificaties

ISBN13:9781449329273
Taal:Engels
Bindwijze:paperback
Aantal pagina's:317
Uitgever:O'Reilly
Druk:1
Verschijningsdatum:20-5-2013

Over Tom Stuart

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.

Andere boeken door Tom Stuart

Inhoudsopgave

Preface

1. Just Enough Ruby
-Interactive Ruby Shell
-Values
-Control Flow
-Objects and Methods
-Classes and Modules
-Miscellaneous Features
-Programs and Machines

2. The Meaning of Programs
-The Meaning of 'Meaning'
-Syntax
-Operational Semantics
-Denotational Semantics
-Formal Semantics in Practice
-Implementing Parsers

3. The Simplest Computers
-Deterministic Finite Automata
-Nondeterministic Finite Automata
-Regular Expressions
-Equivalence

4. Just Add Power
-Deterministic Pushdown Automata
-Nondeterministic Pushdown Automata
-Parsing with Pushdown Automata
-How Much Power?

5. The Ultimate Machine
-Deterministic Turing Machines
-Nondeterministic Turing Machines
-Maximum Power
-General-Purpose Machines
-Computation and Computability

6. Programming with Nothing
-Impersonating the Lambda Calculus
-Implementing the Lambda Calculus

7. Universality Is Everywhere
-Lambda Calculus
-Partial Recursive Functions
-SKI Combinator Calculus
-Iota
-Tag Systems
-Cyclic Tag Systems
-Conway's Game of Life
-Rule 110
-Wolfram's 2,3 Turing Machine

8. Impossible Programs
-The Facts of Life
-Decidability
-The Halting Problem
-Other Undecidable Problems
-Depressing Implications
-Why Does This Happen?
-Coping with Uncomputability

9. Programming in Toyland
-Abstract Interpretation
-Static Semantics
-Applications

Afterword

Index

Net verschenen

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Understanding Computation