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: "E. Wing" <email@hidden>
- Date: Thu, 1 Jan 2009 10:43:38 -0800
On 12/31/08, Achim Domma <email@hidden> wrote:
> Hi,
>
> 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.
With the language set you already know, Obj-C should only take you a
day to learn. It is a pretty minimal superset of C. My personal
experience is people spend more time worrying about or resisting
learning Obj-C than actually learning it.
Cocoa is huge though. That's where you will be spending most of your
time learning.
> - 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?
On Leopard, yes. Apple officially includes and supports these on
Leopard and they have full access to Cocoa and other frameworks on the
system. I don't think you need to bundle them in your app since they
are already system frameworks. Only your code will go in your app.
Your end users shouldn't be able to tell you are using these. These
won't save you from having to learn Cocoa though.
> - 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?
I don't have any first-hand experience, but for PyObjC and RubyCocoa,
but from what I've seen, the integration is really good.
> - 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?
PyObjC and RubyCocoa are fully supported by Apple. I believe these are
really up-to-date. Other languages, not so much. I don't see why there
would be any problems with Core Animation. I wrote my own minimal
binding for Core Animation in Lua and I did it the hard way. PyObjC
and RubyCocoa are much smarter and I don't see why they would have
problems. Core Data I am less sure about since there is a modeling
tool. Since they have IB integration, I fully expect PyObjC and
RubyCocoa to have full support here too. I'm sure somebody else can
confirm this.
> - 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 don't know anything about Mono/Cocoa#. Somebody else will have to answer this.
Personally, I think you should start with Obj-C. You'll be able to
find a lot more code examples and more easily be able to get direct
help from people. And Cocoa is designed with Obj-C in mind so learning
Cocoa from Python or Ruby may slow your learning of the common
patterns and designs in Cocoa.
-Eric
_______________________________________________
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