Master your Minecraft
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Tour our stores


    Recently Viewed clear list


    Original Essays | November 7, 2014

    Karelia Stetz-Waters: IMG The Hot Sex Tip Cosmo Won't Tell You



    Cosmopolitan Magazine recently released an article titled "28 Mind-Blowing Lesbian Sex Positions." Where was this vital information when I was a... Continue »

    spacer
Qualifying orders ship free.
$39.99
New Trade Paper
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Burnside Software Engineering- General
25 Remote Warehouse Software Engineering- Programming and Languages

Understanding Computation: From Simple Machines to Impossible Programs

by

Understanding Computation: From Simple Machines to Impossible Programs Cover

 

Synopses & Reviews

Publisher Comments:

Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context youll 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. Its 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 todays 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

Synopsis:

Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context youll 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. Its 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

About the Author

Tom is chief scientist at Expert Human. He is an experienced, passionate computer scientist and programmer. He work as a freelance consultant, mentor and trainer, helping all kinds of companies to improve the quality and clarity of their approach to creating software products, usually on the web. Sometimes this means spending a month writing code for them; at other times it means encouraging them to rethink their product, re-educate their teams, rewrite their tests, or ruthlessly refactor their code. He has lectured on compilers at the University of Cambridge, helped organize the Ru3y Manor conference, and is a member and speaker of the London Ruby User Group.

Table of Contents

PrefaceChapter 1: Just Enough RubyPrograms and MachinesChapter 2: The Meaning of ProgramsChapter 3: The Simplest ComputersChapter 4: Just Add PowerChapter 5: The Ultimate MachineComputation and ComputabilityChapter 6: Programming with NothingChapter 7: Universality Is EverywhereChapter 8: Impossible ProgramsChapter 9: Programming in ToylandAfterwordColophon

Product Details

ISBN:
9781449329273
Author:
Stuart, Tom
Publisher:
O'Reilly Media
Subject:
Programming - General
Subject:
Software Engineering - Programming and Languages
Subject:
compilers;functional programming;programming;ruby;software engineering
Subject:
CourseSmart Subject Description
Copyright:
Edition Description:
Print PDF
Publication Date:
20130531
Binding:
TRADE PAPER
Language:
English
Pages:
332
Dimensions:
9.19 x 7 in

Related Subjects

Computers and Internet » Computer Languages » Ruby
Computers and Internet » Networking » General
Computers and Internet » Software Engineering » General
Computers and Internet » Software Engineering » Programming and Languages
Engineering » Communications » Information Theory

Understanding Computation: From Simple Machines to Impossible Programs New Trade Paper
0 stars - 0 reviews
$39.99 In Stock
Product details 332 pages O'Reilly Media - English 9781449329273 Reviews:
"Synopsis" by ,

Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context youll 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. Its 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

spacer
spacer
  • back to top

FOLLOW US ON...

     
Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.