Sunday, February 26, 2012

Wow, what a bad book

Mr Jordan, if you read this, I am not saying you are a bad person - just that your book - iOS 5 Games Development is not written in a manner that appeals to me personally. That being said, eeeek!

I will work through the book just because I bought it. And then I will try to sell it as quickly as I can before it becomes obsolete.

First off - the very first chapter starts off well enough - baby steps in how to set up a project in xCode. Fine. Assume we know nothing. And then, instead of taking us through the code of how to write the game, the author says "copy these files into your project." Woo hoo! I copied! Now I can feed myself? Not really. I can copy. Heck, I have been a good copier ever since I learned how to copy off of other students back in 1st grade. And though many find mindless typing of text from a book into a file useless, I find it helps me a lot. If I type it all in, it gets into my brain a little. And I can also experiment if I see how things are put together. For instance, he creates buttons in his code - rather than having us use buttons from the library. Well, he lets us build two - the main, meaty buttons, nope - just drag the file in and "lookee what I done!" Sigh. I hope it gets better...Onward to chapter Two.

Not to mention typos galore!

In the current chapter (2), there is a screen shot show two .xib files with a caption saying - your project should look something like this - create groups (he just says that he likes to do it) and then move files around. Sigh. This is a book like Juliet was mentioning - a book where the guy is all inside his own head and does what he does without thinking about it - not realizing that others haven't done this a thousand times...

Wow. I just finished the second chapter. And it is even worse than the first chapter. The man points out things that are obvious and leaves other stuff completely out. For instance, we were supposed to change some files from the first project and incorporate them in the second project. Nowhere was this explicitly pointed out. And it is unclear, often, what code he wants us to write. Finally, he says, run the application and it all should work. Well, it doesn't, because we didn't hook it all up - unless I missed a sentence that said - then do this for all of the other views...

The one good thing about the lack of effort that the author has demonstrated, is that it makes me work hard to try to figure out why things aren't working the way that they ought. At least there are sample files with the finished products in them for me to compare against! Yay! Ok, I just can't be bothered to try and fix the stupid application. I can't find a sentence that sugguests we are supposed to hook up everything. Glarg. On to the next chapter!

Now I am reading chapter five. That is all there is to do with this book - read and look at the examples. The author has not created a hands-on book. Why not give us a sample and have us add something to make it function the way that we want it to? I guess what I am going to have to do is take the example files and play with them to see what changes I can make and where I can break it. And when I break it fix it again. Sigh.

Long and short - this is not a book for doers. If you like reading about code, this book is for you! Want to buy it? Cheap (ish)?


Tuesday, February 21, 2012

Something Satisfying

There is something satisfying about doing computer programming. At least for me. Clicking Run on an application that I have typed into the computer and have the application do what was expected is awesome. True, I am not doing much from scratch yet, but still. And I like adding little differences when I can - when I understand how to do so. And after a book and a half, I am beginning to understand how to do things on my own - and what the heck I am typing. Now, when the book says something like, let's implement a method that does such and so, I am already beginning to think of what I might type to make that happen. For instance, in the language I am using - I start a method with a hyphen! Go me!

Tracking down why things aren't working is also a lot of fun for me. Yes, it can also be very frustrating. But the debugger tools in the xCode SDK are very helpful (for the most part). Often the reason something isn't working is because I didn't read the text closely enough. One of my major lifetime issues - skimming and assuming (yo, Ming, where are you?).

So far, so good. I don't know that I will be ready to craft my first public application any time soon - I just ordered two books on game programming - but I can sense that I might just one day actually be able to do it. Of course, I am also programming myself for failure - gee, where is Mr. Positive Mental Attitude when I need him - thinking that I am going to a) not get the app up on the app store at all and b) if I do I am going to be sued by the beer people. Who knows. Life is short and I am doing the best I can...ok, maybe not the best, but doing ok...