From: Dave H. <gr...@gr...> - 2005-06-06 22:00:07
|
On Jun 6, 2005, at 8:22 AM, Kevin Bullock wrote: > If Objective-C syntax seems obtuse, it's only because it bridges the > world of good, dynamic, object-oriented programming languages with C, > Objective-C is much nicer than programming in pure C, though, Yup. I knew this. Shortly after graduation from college (with a degree in Music Composition, btw), I got a C compiler in order to learn C. My languages at that point included BASIC, Pascal, REXX, and Modula-2. I was absolutely appalled by C, and ran screaming after a month or two. [recommended resources for C and Obj-C] > After you've got a decent grasp on that, starting from the beginning > of MacDevCenter's Cocoa Programming series is a very good way to get > introduced to the things Cocoa can do and the architecture for doing > so. The problem is, realistically, as a "programming non-programmer," I don't have enough time to learn it from the ground up. More on this below.... > More generally, though, don't get discouraged if you don't immediately > "get" Cocoa. While it's very well-architected, it's still a large, > powerful, and therefore complex software system. I've been poking at > it since 10.1.x and I still haven't learned all its capabilities, > especially since they add more with each minor revision. Not discouraged. Cocoa is clearly a freakin' Pandora's Box of instant gratification wrapped in a fog of inadequate documentation. When I say "inadequate," I can refer only to what's actually sitting in front of me. What I clearly need is the right kind of Cocoa book. Well, I need the same kind of Ruby book too, but I already know it doesn't exist. Any/every language or system needs a good reference. For Cocoa and AppleScript Studio, Apple's documentation is really superb. Alas, the RDoc/gem/whatnot online system for Ruby has proven quite exasperating, but the Practical Programmer's guide's latter half is a very good reference for Ruby. For a language, the next thing would be a tutorial. Alas, the PPRuby book is a very poor tutorial. I think this is mostly because Ruby's very weird (as in, very non-procedural), and the tutorial section is waaay too short to have a chance of really getting there. The fact they think I'm a convert from Java doesn't help any either. :) Getting into Ruby itself has been a real slog because of the lack of a good tutorial, but I'm finally getting to the point of having some paradigm models in my head so I can go "if I wanted to do X, where would I look for that ability?" and thus find the answer in the reference section. What I now need for Cocoa (and Ruby, and RubyCocoa) is a cookbook. "Here are fifty different kinds of programs/processes/functions/activities you might want to do/have/make. Here's a quick example of that, and a mention of one or two alternative approaches." So if I'm making a To Do list manager, I find the "address book" or "mail merger" or "recipe book" and go "ahh, there's an example of organizing Ruby objects as a tree," or "oh, an NSOutlineWhatever, that sounds perfect." The reference works document sharedApplication or Array.push, but a cookbook tells me what it's there *for*. A cookbook is more than just examples. It's (hopefully) *good* examples, and well chosen. "We're doing it this way because...." "You could choose one of these, based on..." The /Developer/Examples folder isn't a cookbook because most of what's in there just illustrates how to use individual parts. "Here's talking to Bluetooth." "Here's a table with a datasource." Thank you all for for your collective polite and informative responses to my pathetic whining posts. I have a much better idea of what I need in order to keep moving forward, as well as a much better understanding of what RubyCocoa needs (and doesn't need). RubyCocoa needs a lot less documentation that I thought a week ago. All it's really missing is a good tutorial written for somebody coming from Ruby toward Cocoa. Most of the current documentation (all the examples that come with RubyCocoa, for instance) assume a pre-existing Cocoa background. I may have to write that, in my copious free time. <grin> |