Re: Which language to get started with cocoa development?
Re: Which language to get started with cocoa development?
- Subject: Re: Which language to get started with cocoa development?
- From: Ken Thomases <email@hidden>
- Date: Thu, 1 Jan 2009 16:05:18 -0600
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 (email@hidden)
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:
This email sent to email@hidden