The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine
S**H
A 10 year quest to understand Turing's paper ends here
It was about 10 years ago when I first found Turing's original paper on Internet and thought it wouldn't be so hard to read and understand it (after all its "mere" computer science). Since then I've tried to digest it quite a few times on and off and never actually succeeded. Infect most of the time I got stuck on few nitty-gritty and just couldn't move forward. I have even bought/borrowed almost all books on the subject that falls in to "popular science" types. Needless to say, like many such books in same category, they just never go in to details and are practically useless for all practical purposes :).So imagine my surprise when I see a book with title "Annotated Turing" and by none other than Charles Petzold who I've known as author who normally writes programming books. That surprise was only a start. I was simply shocked when I opened the book. It was as-if someone read your dream and made it a reality with absolute precision with zero compromises. If there is one such book like this for all of the milestone scientific papers, there would be a revolution in learning.Let me put out some points what makes this book so perfect. Not just wishy-washy "near perfect", I'm saying SO PERFECT.*First, the book contains explanation of every single line in Turing's paper. Literally. The format of the book is a line quoted from Turing's paper in bold and a paragraph or so of explanation and discussions for that line. Author's claim is that you can actually cut out all those lines and stitch them to recreate the Turing's paper in its entirety complete with page numbers! Now that's what I call precision.*The book also includes all encompassing big picture overview, historical situation, importance, consequences and so on - nicely preparing reader for the journey.*The book is so readable that I usually forget I'm reading a very technical book that goes in to very core of computer science. It's like nicest computer science professor reads you the paper line by line and answers all your questions, even those completely stupid ones.*As I'd doubted many times, there are lots of errors in Turning original paper. This book amazingly points them out and corrects even the minor misprints. I'm just surprised how author even know so much "insider" details about those trivial misprints and errors.*Turing's paper is full of obscure strange symbols (have you seen old gothic German font?) that are common in scientific literature today. Author explains all these symbols, what they mean, where they came from, what are the subtle differences and so on. Just amazing.*Turing's paper have lot of omissions for explanations and steps which he probably left out as "exercise for reader" to keep his paper short. Sometime you might get stuck in those exercises and if you are not in academia you probably have no external help. This book deals with all these omissions and expands so beautifully on them that I can't imagine if there any better way to describe them.*Apart from omissions, there are lot of shortcuts that Turing employs with rather flitting explanations or sometime absolutely none. This book covers you 100% for these shortcuts.*A big part of understanding Turing's paper is actually mentally running his machine's step by step for all the examples he puts out. This book actually does this step-by-step run explanation making it so easier to read and understand quickly.Anyway, some of you might think why one should even bother about reading this ancient computer science paper in first place? Answer is huge changes in the way we have started viewing universe recently. While Seth Lloyd's book "Programming the Universe" does good job of explaining this thinking, the summary is that the universe can be seen as computing machine rather than particle and energies in the realms of physics. There was even a paper that proposed that even a simple system consisting of billiard balls interacting in space is Turing complete! That means by setting billiards balls in some initial points in space and velocity can computer anything that your laptop can compute in theory. To understand advances in this area you have to fully understand what is Turing's machine and what it means to be Turing complete and how one can prove that a certain system is computationally Turing complete. That's where the paper comes in. Text books just don't do justice.
T**Z
Turing's paper
If you want to understand Turing's machine, this is the book you should read.
J**T
Great introduction to the UTM
With a reasonable background in Computer Science (or some enthusiastic reading), I suspect most people who would be interested would be able to follow the original paper. But it is definitely worthwhile getting a good guide if you can. Charles Petzold brings the same common sense he brought to CODE to take you through the details of a paper that profoundly changed Mathematics and kick-started the whole field of Computer Science.In some places the approach of annotating the paper paragraph by paragraph works fabulously well - e.g. taking you through Turing's examples step-by-step and pointing out the errors and later elaborations. The digressions into lambda calculus and continuity are also great enhancements to the paper. But sometimes, the need to align comments to particular sections of the paper, leads to some topics getting broken up and makes it more difficult to follow the paper - this is particularly the case in the last part of the paper where Turing turns to the Enscheidungs Problem itself. I'm not certain that Charles Petzold feels totally comfortable with this section either. As a mathematician, I understood what he was trying to say, but I doubt whether someone who hadn't already encountered these ideas would have been able to follow it.To be fair though, the vast majority of readers will be looking to understand the Universal Turing Machine and the idea of computability. These sections are handled wonderfully with great insight and clarity.What came as a surprise to me was how many "programming paradigms" Alan Turing managed to anticipate in his simple programs for his Turing Machine and the programs are as exciting to read as any well-written modern source code.If you are inspired by the big ideas in this book, I strongly recommend that you also look at Douglas Hofstadter's Goedel Escher Bach: An Eternal Braid which covers some of the same ideas from a radically different perspective.
P**R
very good book with some weaknesses
what i really liked about the book was that it incorporated the original writings of turing and then provided examples and explanations. it also managed to weave in elements of turings life into the overall development of the book.i have a very solid mathematical background, but primarily in real analysis, and not so much in foundations and logic. so i was very much appreciative having a highly educated tutor to help along the way. when someone has to struggle with the detail and intricacies of proofs and descriptions as appear in turing's work pointing out typos and missing parentheses is beneficial.my only complaint regarding the book is that the indirect proofs are not identified at the very beginning of the proof. many of turing's results are achieved using indirect proof. they can be very confusing on the first reading because my first inclination is to accept what is written as consistent with the development so far. only later did it become clear that turing (and the author) was making an indirect argument.after reading the book i have found it to be a very rewarding project. i wanted to really understand turing machines and their capabilities in much greater detail. i wanted to understand better the terminology regarding formal logical systems. i wanted to learn about alan turing through his work. the book was successful on all three levels for me.if i understand the dates right that appear within the book, the paper which helped shape the foundations of computation was written by an undergraduate student who within a handful of years was helping design machines to decode german messages during world war ii. he was truly a genius whose life ended way too early. I personally think charles petzoid brought his story and his work to life.
F**V
If you're here, then you probably need this on your shelf
As part of a numerous group of programmers without a university degree in the field, it is not too easy for me to grasp the academic language of many fundamental texts. Therefore, it's probably no surprise that I was not very satisfied after finishing Turing's paper. I got the main idea, sure, but I did not have the patience and diligence required to decipher his machine descriptions and truly grasp the monumental achievement which this paper represents.I recently read Code: The Hidden Language of Computer Hardware and Software, and was fascinated by it. Here, Petzold again grabbed my attention and held it for almost the entirety of the book (almost, since some portions are more difficult than others, but not excessively so). He takes Turing's paper, and the correction published a year later, and dissects them vigorously, presenting a lot of background knowledge, historical events and plenty of illustrative examples.The best word I can use to summarize is: Wow. This is the kind of book which leaves you feeling good about yourself. To someone like me, lacking any formal education in information theory, mathematical logic and all the other subjects more or less present in a CS course, this is a must-read.Therefore, as stated in the headline, if you're here, reading this book's description and trying to decide whether it's worth it - it truly is. Even if, unlike me, you're able to fully comprehend On Computable Numbers, you'll probably learn a lot from it, or, at the very least, enjoy the read.
A**C
Gives insight to the paper on Computability and the Turing Machine and his life
* SynopsisThe author gives insight into the man and his most influential work. Turing's contribution work with cracking the Enigma is on record to have shortened the WW2 by 2 years.* Topics covered1 Foundations, 11 Computable Numbers, 111 Das Enscheidungsproblem 111v And beyond.* CommentaryI bought this book to have insight into Turing's paper on how to make a universal Turing machine, or what is now known as a computer. The book covers the man's history and his works in a delicate way that has a way explaining that makes light of it. And a much better job of simplifying the work of the genius computer scientist so the reader can feel the possibilities of the work. This is limited as the author says, and I quote, 'Because the Universal Machine is so essential to Turing's arguments in the rest of his paper, he proves the existence of such a machine by actual constructing it in full excruciating details. Once you understand the basic mechanism, however, you might find these details to be rather tedious. No one will punish you if you don't assimilate every symbol and function in Turing's description.' (P149)The author of this book is a surprisingly good explainer of the man's work and the book is easy to read. Around the time of Turing, the only way to the programme was in binary for simple operations and data. His research implemented subroutines, and if - then decisions. procedures structuring. The fact he was so ahead of his time and even touched on A.I. work on such primitive machines is a stunning portrait of the man. There is coverage of light computing topics such as how following computer languages influenced the current common languages.* SummaryThis book has a light touch on a deep topic of the man and his work. I read it in a few days and enjoyed it. If this statement the cracking of the Enigma shortened WW2 by two years is excepted, then this ties in with the dropping of the atomic bombs to also have shortened the war also by 2 years. The war could have been still going on to 1950, which is sobering.
A**N
A challenge. I will need to read it again.
I am a very experienced computer programmer, but not much of a mathematician. I read Petzold's book 'Code' for fun and absolutely loved it (*that* book gets 5 stars). I also know what a Turing machine is, albeit from a modern perspective. Given all that, I was curious about Turing's original paper. Petzold does a great job of dissecting Turing's paper, paragraph by paragraph, but the subject matter is a challenge. Gothic German! I found I was skimming bits in the hope that it would get easier. It doesn't. So having got to the end of the book, I will have to go back and re-read it, slowly and carefully this time. I feel Petzold *could* have explained things a bit better, but then the book would have been that much larger. Too large, probably. The real problem is me - not quite smart enough and in too much of a hurry. This is a book to be read slowly, properly studying each example before moving on to the next.
S**L
Excellent In Every Way
Turing's 1936 Paper "On Computational Numbers" is often cited as a landmark in the history of computing, but it's details are not widely considered or well known today. If you're curious to know more about the Paper, and why it's important, you can do no better than read this book. It contains a complete transcript of the original Paper, with extensive commentary and explanation from Petzold that make the Paper accessible and understandable to a wider audience (and even for specialists, this book is probably a better choice than just reading the original Paper!). Petzold's enthusiasm for the topic shines through in an excellent writing style, striking a good balance between detailed technicalities and simpler descriptions, in a friendly helpful way that will neither confuse the layman nor bore the expert.Petzold supplies invaluable historical context: some of the developments in mathematics in the late nineteenth and early twentieth centuries that undoubtedly influenced Turing, and which appear explicitly in the paper. This is a very useful aid to understanding Turing's paper for readers not expert in those topics of mathematics (which is almost all of us who don't have post-graduate degrees in very specialised areas of pure maths!). But the book is definitely aimed at readers with some mathematical background and aptitude. If (UK) O-level / GCSE maths was a mystery to you, you may struggle; if you have A-level maths or computing you'll be fine. If you're somewhere in between, Petzold's explanations will happily guide you through the details.Two things this book isn't: First, if you want a book that starts from Turing's paper then delves into even more advanced mathematical research and theories, then this isn't the one for you (although it does helpfully include a summary of more recent work that follows on from Turing's ideas). Second, at the other extreme: although this book includes some biographical information, if you want a detailed non-technical biography of Turing you should look elsewhere.But for all the rest of us between these two extremes, who want to understand what Turing machines are from the original source, then I wholeheartedly recommend this book.My only complaint, and a very minor one, is that Petzold's description of Bletchley Park's location would place it in Suffolk rather than Buckinghamshire! But given the complexity of the book's subject matter, it is a testament to the quality of Petzold's research that this is his only error.
E**C
Great Examples of how Turing's coding worked
I needed to ensure that I fully understood the Turing Machine and this book appeared to be suitable.I have had it for two days and find it explains the principle of Turing's machine very well and also covers concepts of programming from first principles with just digits 0 and 1 along with functionally defined m-configurations (fully explained in the text).I wish I had bought it earlier, it has certainly enabled me to fully understand Turing's concepts.
Trustpilot
5 days ago
3 weeks ago