On Dec 31, 2008, at 2:22 AM, Achim Domma wrote:

I develop software for a living and want to get started with cocoa development just for fun. I'm good at python, C, C++ and C# and have some Ruby knowledge. Now I'm asking myself, which language I should use to get started with cocoa development:

- ObjC looks interesing, but would be a new language to learn. I like to learn new languages, but I also prefer to do one step after another. So learning Cocoa and Obj-C toghether could be frustrating. - I like dynamic scripting languages like python and ruby, but I would like to ship my apps to other users. And they should not care about the language I have used. Can pyObjC or RubyCoca be bundled with my app, so that the enduser will not recognize that python/ruby is shipped with my app? - As far as I understand, GUIs are usually build with the interface builder of XCode. That tools is tuned to be used with ObjC. How good is the integration with scripting languages? - How up to date are bindings to "non ObjC" languages usually? If I will like cocoa development, I want to have a look at core data and core animations. Are these also available for ruby and python? - What about Mono/Cocoa#? Looks like Mono is not an good option, if I want to distribute my app as small download via the web. Or am I wrong?

I would be very happy to hear some opinions of experienced cocoa developers about these topics. Any feedback would be very appreciated.

I have only passing familiarity with Python, Ruby, and their bridges to Cocoa, so take this with a grain of salt: I think you're going to want to learn Objective-C for Cocoa development, even if you end up programming in a scripting language.

First, it's a really small addition to C, which you already know. You're right that it may make more sense to learn Objective-C first before Cocoa, but that will be a really brief step, I think.

As I understand it, for the bridges to Python or Ruby, you'd have to learn some new paradigms anyway since the bridges can't quite make Cocoa a completely natural fit to those languages.

All of Apple's documentation and sample code for Cocoa is written in terms of Objective-C, so if you don't understand Objective-C you won't understand the docs.

Interface Builder does not generate Objective-C code. It's not a code generator at all. Instead, it constructs objects and then "freeze dries" them out to nib files, which are just archives of the objects and their connections. Loading a nib just reconstitutes the object graph. So, I don't think that Interface Builder is especially Objective-C-centric. Interface Builder and Xcode do cooperate to let IB know about any custom classes defined in your code, but you can also accomplish the same thing directly in IB. I don't know if the scripting language bridges support exporting new class definitions from Xcode to IB automatically.

I don't know how well Core Data or Core Animation are integrated with scripting languages, but I imagine they must work. They are not based on any features of the language beyond normal message passing (and possibly forwarding). If the bridges are worth anything, then I expect those frameworks to be available, pretty much automatically.

Cheers,
Ken

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to