Programming (1)

So, some of you may be wondering where I’ve been for the past few days… the short answer (ie, ignoring everything else that was going on) is that I’ve been wading through the last few chapters of Stephen Kochan‘s Programming in Objective-C. Useful, well written book that does more for actually teaching the language than most of the other books on my shelf combined.

I finally got through it, and feel moderately comfortable with it, ready to take the next step, and actually try my hand at actual development. Never one for small bites, I decided to dive right into building a MUD server. From scratch. In Objective-C, which none of my friends know and thus can’t help with. Woo!

I decided to start with one step at a time, beginning with the network code. I found a fair amount of somewhat obfuscated (I say somewhat because I’m fairly confident that if I had a greater mastery of Obj-C, I would know what the hell it was talking about) information on using NSPort, NSConnection, NSSocketPort, NSStream, plus the Core Foundation variants of all of the above. All well and good, and WAY too complicated.

So, I’ve started looking into alternative methods. CocoaDev and MacDevCenter have proven extremely useful resources, with several leads on possible solutions. I may change my mind again, but after evaluating my options and reading comments on performance, I think I’m going to go with OmniNetworking, a part of the Omni Frameworks. It offers high level access to low level code (in other words, access to very fast core functionality without jumping through as many hoops to use it), with minimal loss in performance. It’s also completely free, and can be used in any type of application (open source, shareware, commercial), as long as I don’t claim I wrote it, and include a nod to them in acknowledgements (like in the About box). Pretty darn cool.

So, now comes the process of getting it up and running. Wish me luck: I’ll probably need it. :)