The subtitle on the cover says 'less theory, more results'. Well, the book certainly lives up to that claim. It is goodly suited for a beginner who maybe does not have a deep programming background in any programming language. What struck me immediately about the text was the relatively small amount of C# code snippets provided by Pierce. Instead, he focuses more on the descriptive aspects of the narrative. Here is much of the value of the book. Because it is not actual code, the advice tends to be general purpose. In broadest form, for coding any game in any language. But even when restricted to writing for iOS, the remarks are good guidelines for game design. That are not tied to any specific version of iOS or Unity or C#. It frees the book to be a standard text that can endure over several years, instead of being instantly obsoleted in 2 years, say.
As far as the choice of C# for the programming language, yeah ok. Pierce is correct when he says that it is a short distance from Java and C++, and those 2 are the most popular object oriented languages. Still, it begs the question as to why he did not just opt for one of them. Since C# is from Microsoft, and is their equivalent of Java, but optimised for their operating systems. Well the current book is about programming games for the iOS, which is from Apple, and iOS is, as far as I know, some derivative of Unix. But after C# was released, .Net and hence its attendant C# was ported to OS X (Apple). The Unity scripting engine was written under .Net and does not support Java or C++. Ergo the book talks in C#.
But if we purse the logic one step further back, why was Unity written under .Net? In turn, the text explains that by using the Common Language Infrastructure, Unity can suppose several scripting languages.