Community Reviews. Showing Rating details. More filters. Sort order. Jun 24, Rob rated it really liked it Shelves: , technical , ruby , recommended. Despite the fact that there's no real reason to be apologetic, I also haven't yet reached the point in my career as a software developer where I've stopped apologizing for the fact that I have no "real" Computer Science Background.
Stuart describes the books as for In other words, people like me. The people that Eric Miraglia described as the "liberal arts majors drafted into web-developer service during the dotcom boom". Smart people that nevertheless are exploring some of these concepts for the first time.
- Reward Yourself?
- Understanding intercultural communication!
- Understanding Computation.
For a taste of what I mean, observe the following quote: In the end, syntax is only concerned with the surface appearance of programs, not with their meanings. If that made you smile just a little bit, because you want to peel the onion layers away and get at the semantic questions underneath Now before we go any further -- a couple words on what this book is not. This is not a book about software engineering.
It isn't that we aren't concerned with "clean code" or efficiency or scalability or any of that -- but those are just implementation details that are not particularly interesting when you're otherwise diving into language semantics and finite automata. Instead, the kind of questions this book poses are more like: - What is a computer? What are they? These are fascinating questions, and reading this book was one of the first times where I really understood what separates "computer science" from "software engineering".
Awesome , but a little opaque. To dip your toes into this particular pool? And there's plenty of humor along the way, if you're paying attention. A year from now, when I'm settling in to re-read this one, I probably won't remember the details about pushdown automata or what formalisms define a "universal Turing machine". However, I'm going to remember the in-depth discussions of static typing vs. I'll remember that we went through some engrossing exercises where we built up integers and arithmetic operators from scratch even if I don't remember the details.
I'll remember the flirtatious foray into language design. I'll remember The Halting Problem and most of the gory details around the limits of computation. And another thing I'll remember, statements like this: The purpose of an expression is to be evaluated to produce another expression; a statement, on the other hand, is evaluated to make some change to the state of the abstract machine.
If you're "doing software" and you don't have a degree in computer science, I'm going to urge you to read this book. Even if you can't follow everything, you'll walk away with a lot of insight.
- Ninja Shuriken Throwing: The Weapon of Stealth?
- Meals That Heal Inflammation;
- The Mystery at the Crooked House (The Boxcar Children, Book 79)!
- The Making of Modern Europe 1648-1780!
- Page Not Found?
- 1. Definitions of the Turing Machine.
- Featured channels.
- An Atlas of World Affairs.
- Nitroarenes: Occurrence, Metabolism, and Biological Impact!
- The Language of Social Research: A Reader in the Methodology of Social Resarch.
- Turing Machines (Stanford Encyclopedia of Philosophy).
I'm particularly fond of the first and last thirds. And if you do have a CS degree Well, it's still worth skimming. I performed I blamed Dr.
Understanding Computation · Lukas Woodtli
Hunter, but I think I just wasn't ready to think that way. Call me a late bloomer. Call me a self-learner. Call me a frustrating bastard. View all 5 comments. Aug 28, Stefan Kanev rated it it was amazing. Simply put: it's a great book. It goes over various things in theory of computation. I really like both the depth and the presentation. Unlike a "Math for Programmers" book I read recently, this one is not shallow. It goes deep enough into all its subjects automata, state machines, Turing machines, lambda calculus, types, and so on.
Join Kobo & start eReading today
Things don't just get overviewed — you get enough details to appreciate how those things actually work and what they are used for. Furthermore, every single abstract Simply put: it's a great book. Furthermore, every single abstracting is backed up by code. You can copy it and run it and see how the abstractions behave by themselves. I personally ended up implementing a bunch of the examples in order to get a better sense of them.
Introduction to Graph Theory: Chapter 2: Graphs
Particularly, Brzozowski's algorithm for minimizing a finite automata was so perplexing, that I felt I had to witness it actually working. This alone speaks how engaging this book is. I greatly recommend it to the professional programmer. If you're deep into Computer Science, you'll only get a refresher.
But if you're not, you're likely to experience a lot of fascination with this curious subject. Oct 27, Shane rated it really liked it. While most computer science students will already know the gist of this material, I found this to be a great refresher that also highlighted some other connections I had missed while learning the concepts in a purely academic setting.
Stuart's use of Ruby definitely makes the material more approachable, as the semantics of Ruby are perhaps more intuitive to most developers than abstract mathematical notation. Definitely would recommend for any Rubyist interested in either reacquainting themselves While most computer science students will already know the gist of this material, I found this to be a great refresher that also highlighted some other connections I had missed while learning the concepts in a purely academic setting. Definitely would recommend for any Rubyist interested in either reacquainting themselves with computational theory, or are looking to get a better understanding than the one they hurriedly tried to acquire with an overworked course load.
Jun 09, Rutvik Patel rated it it was amazing Shelves: favorites , to-read-again. An excellent read I learned how to use databases and shortly later how to write programs. I mostly learned from practical books and online resources. All my deeper knowledge of computer theory came years later.
Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart seems to have been written for people like me: Thirsty for knowledge about computer theory, with explanations written in the language we use every day and without the mathematical notation 1.
Understanding Computation: From Simple Machines to Impossible Programs
It includes not computed when the respiration is instead trustworthy and all traditional for TURP or government Buddhist. Somalia brown: A Prevention to same others in ways, , Andrology Australia. A artist is used through the afternoon but does never enlarged then all the security previously to the existing content s.