Cargando…

Understanding computation /

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 programmi...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Stuart, Tom
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Sebastopol, CA : O'Reilly Media, ©2013.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)

MARC

LEADER 00000cam a2200000Ia 4500
001 OR_ocn855907305
003 OCoLC
005 20231017213018.0
006 m o d
007 cr unu||||||||
008 130816s2013 caua o 001 0 eng d
040 |a UMI  |b eng  |e pn  |c UMI  |d COO  |d M$K  |d CUS  |d DEBSZ  |d UPM  |d OCLCQ  |d OCLCF  |d OCLCQ  |d FEM  |d OCLCQ  |d CEF  |d UAB  |d YDX  |d OCLCO  |d OCLCQ  |d OCLCO 
019 |a 965981451  |a 968001156  |a 968117978  |a 969029879  |a 1083330476 
020 |a 1449329276 
020 |a 9781449329273 
020 |a 9781449330101 
020 |a 144933010X 
020 |z 9781449329273 
020 |a 9781449330118  |q (electronic bk.) 
020 |a 1449330118 
029 1 |a AU@  |b 000052006957 
029 1 |a DEBBG  |b BV041431580 
029 1 |a DEBSZ  |b 398274371 
035 |a (OCoLC)855907305  |z (OCoLC)965981451  |z (OCoLC)968001156  |z (OCoLC)968117978  |z (OCoLC)969029879  |z (OCoLC)1083330476 
037 |a CL0500000264  |b Safari Books Online 
050 4 |a QA76  |b .S88378 2013 
082 0 4 |a 510.28553 
049 |a UAMI 
100 1 |a Stuart, Tom. 
245 1 0 |a Understanding computation /  |c Tom Stuart. 
260 |a Sebastopol, CA :  |b O'Reilly Media,  |c ©2013. 
300 |a 1 online resource (1 volume) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |2 rda 
588 0 |a Print version record. 
505 0 |a Machine generated contents note: 1. Just Enough Ruby -- Interactive Ruby Shell -- Values -- Basic Data -- Data Structures -- Procs -- Control Flow -- Objects and Methods -- Classes and Modules -- Miscellaneous Features -- Local Variables and Assignment -- String Interpolation -- Inspecting Objects -- Printing Strings -- Variadic Methods -- Blocks -- Enumerable -- Struct -- Monkey Patching -- Defining Constants -- Removing Constants -- pt. I Programs and Machines -- 2. The Meaning of Programs -- The Meaning of "Meaning" -- Syntax -- Operational Semantics -- Small-Step Semantics -- Big-Step Semantics -- Denotational Semantics -- Expressions -- Statements -- Applications -- Formal Semantics in Practice -- Formality -- Finding Meaning -- Alternatives -- Implementing Parsers -- 3. The Simplest Computers -- Deterministic Finite Automata -- States, Rules, and Input -- Output -- Determinism -- Simulation -- Nondeterministic Finite Automata -- Nondeterminism -- Free Moves -- Regular Expressions -- Syntax -- Semantics -- Parsing -- Equivalence -- 4. Just Add Power -- Deterministic Pushdown Automata -- Storage -- Rules -- Determinism -- Simulation -- Nondeterministic Pushdown Automata -- Simulation -- Nonequivalence -- Parsing with Pushdown Automata -- Lexical Analysis -- Syntactic Analysis -- Practicalities -- How Much Power? -- 5. The Ultimate Machine -- Deterministic Turing Machines -- Storage -- Rules -- Determinism -- Simulation -- Nondeterministic Turing Machines -- Maximum Power -- Internal Storage -- Subroutines -- Multiple Tapes -- Multidimensional Tape -- General-Purpose Machines -- Encoding -- Simulation -- pt. II Computation and Computability -- 6. Programming with Nothing -- Impersonating the Lambda Calculus -- Working with Procs -- The Problem -- Numbers -- Booleans -- Predicates -- Pairs -- Numeric Operations -- Lists -- Strings -- The Solution -- Advanced Programming Techniques -- Implementing the Lambda Calculus -- Syntax -- Semantics -- Parsing -- 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 -- Universal Systems Can Perform Algorithms -- Programs Can Stand In for Turing Machines -- Code Is Data -- Universal Systems Can Loop Forever -- Programs Can Refer to Themselves -- Decidability -- The Halting Problem -- Building a Halting Checker -- It'll Never Work -- Other Undecidable Problems -- Depressing Implications -- Why Does This Happen? -- Coping with Uncomputability -- 9. Programming in Toyland -- Abstract Interpretation -- Route Planning -- Abstraction: Multiplying Signs -- Safety and Approximation: Adding Signs -- Static Semantics -- Implementation -- Benefits and Limitations -- Applications. 
520 |a 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 languagesDiscover how programs use dynamic semantics to communicate ideas to machinesExplore what a computer can do when reduced to its bare essentialsLearn how universal Turing machines led to today's general-purpose computersPerform complex calculations, using simple languages and cellular automataDetermine which programming language features are essential for computationExamine how halting and self-referencing make some computing problems unsolvableAnalyze programs by using abstract interpretation and type systems. 
590 |a O'Reilly  |b O'Reilly Online Learning: Academic/Public Library Edition 
650 0 |a Mathematics  |x Data processing. 
650 0 |a Computer science. 
650 0 |a Computational complexity. 
650 2 |a Electronic Data Processing 
650 6 |a Mathématiques  |x Informatique. 
650 6 |a Informatique. 
650 6 |a Complexité de calcul (Informatique) 
650 1 7 |a Programming languages (Electronic computers)  |2 bisacsh 
650 7 |a Computational complexity  |2 fast 
650 7 |a Computer science  |2 fast 
650 7 |a Mathematics  |x Data processing  |2 fast 
776 0 8 |i Print version:  |a Stuart, Tom.  |t Understanding computation.  |d Sebastopol, CA : O'Reilly Media, Inc., ©2013  |z 9781449329273  |w (OCoLC)808413447 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781449330071/?ar  |z Texto completo (Requiere registro previo con correo institucional) 
938 |a YBP Library Services  |b YANK  |n 10713994 
994 |a 92  |b IZTAP