Wednesday, April 28, 2010

Week 2: which version of leopard

I should have read the readme file!

Preparation front: The software
At the apple site (https://developer.apple.com/iphone/index.action) after establishing a new developer ID (I now have 191 logins to remember) I tried to download the SDK, all 2.3GB of it.

I failed twice (maxing out my download allowance of 2.3GB). So I called my local apple shop and asked them to help - as you can imagine, I wasn't the first customer on their list so I was left having to email them my request and hope they would download it for me for a small fee.

I dumped this idea and upgraded my broadband plan to 20GB and then promptly downloaded the lot on my sparking new MacBook. I pressed the install button and ....

bingo - I didn't have the right version of Operating System. I should have read the read-me file!!!

Of course I needed 10.6.2 or later of the so-called MAC OS Snow leopard. Of course my Mac doesn't tell me if it's snow leopard or not, it just says 10.6.1. Can you believe it - it's brand new and I'm already running old software. The lady at the shop told me it is leopard, so atleast that's one thing.

Thank god I took the big broadband upgrade as I had to search the web for updates from my Mac and then another 900MB later I have the latest install. I am yet to run this and then run the SDK. May god be with me.

Objective C front:
I have now read most of the Objective C book. The book is very good - well done Steve. the language....still a little unimpressed.

The C language has complex elements, such as pointers, structs the whole array thing, but then Objective C is meant to make it a bit easier. I really get the feeling that they are trying to make it more like VB, but VB is for babies, yet why not use && or AND and || for OR, it makes so much more sense....and so much more readable.

For all it's purported Object Oriented-ness, you can pretty much do anything you like to bypass the lot and in the most complex ways, for example all sorts of different kinds of global variables. Nasty operators such as # which bypasses the whole compilation routines and then of course the pointers themselves where & and * can mean a whole host of things, depending on where you put them.

int *intptr is an integer pointer
int p
intptr = &p (why not - knowing the address is really helpful?)
p = *intptr (i.e. p gets the variable stored at the location intptr is pointing to)

don't even get me started with ->

What's the problem with simple dot operators and declaring arguments as either by reference or by value - it works. Should we really understand or even need to think about what is stored at what computer address? Of course not - it's a complete waste of good brain time.

But if I want to program the iphone, i have to know it - so onward ho.

I'm starting the foundation framework in the next day or so - is that cocoa? I will find out soon.....

I better go check to see if my updated operating systems has downloaded

ps: kids found the photobox program on the apple - it was a hit. Don't get me wrong, there is some really fun stuff on apples.

No comments:

Post a Comment