views:

955

answers:

6
+1  Q: 

Ruby or Python ?

I want to write software for the iPod/iPad. I find Objective-C difficult to learn. Between Ruby and Python, which one is best suited for writing software for iPod/iPad? Please advise which tutorial book for the best one?

+3  A: 

Neither. You have to use Objective C, because that's the only language that is supported. Furthermore, you can only develop on a Mac.

UPDATE

It appears I was off-base. Take a look at this. It's a framework called Rhodes.

Vivin Paliath
I expect he means writing web apps that look a lot like iPhone apps: http://www.ibm.com/developerworks/xml/library/x-iphonexmlphp/index.html
T.J. Crowder
Neither of those is true: you can develop iPhone software in *at least* Ruby and .NET in addition to Objective-C *and* there are several development environments for Windows.
Jörg W Mittag
Really? That's news to me. Citation needed :) But in all seriousness, can you point me to some documentation? I thought you could only write iPhone software in Objective-C and only on the Mac.
Vivin Paliath
Jorg, can you point me to some documentation. This sounds great to me. T
Charles
Wow, I too would like some documentation. If I knew I could develop iPhone apps in languages other than Objective-C I would have don't it ages ago in Java.Would be happy to know that it's possible.
Helen Neely
http://PhoneGap.Com/ lets you write iPhone apps in JavaScript, http://RhoMobile.Com/products/rhodes lets you write them in Ruby and http://MonoTouch.Net/ lets you write them in any CLI-compliant language (e.g. C#).
Jörg W Mittag
A: 

You can write web based iPhone/Pod apps using rails. they will not go through the app store obviously. Use iui, or iWebkit or JQTouch for all the look and feel.

PurplePilot
+1  A: 

Sorry: for now, neither of those are choices if you want to be in the App Store. In the iPhone OS, there is a guard function mprotect() which will blow up if you try to mark writable memory sections as executable. This is, in part, how RubyCocoa works -- libffi is used to generate the relevant Objective C headers at runtime. Because of mprotect()'s meddling, someone would have to devise a variant (or update the existing) RubyCocoa which can generate these stubs without having to worry about mprotect choking on the memory switcheroo.

That said, maybe you'd find C# a workable alternative language to Ruby or Python. Have you checked out MonoTouch from Novell? It's viable for development.

John Feminella
+3  A: 

If you don't like ObjectiveC you can try other solutions like MonoTouch (C#) or Rhodes (ruby). However there are strings attached (pricing / licensing).

Marcel J.
+1  A: 

I don't think there is much difference between Ruby and Python as a language for iPhone/iPad/iPod touch development.

However, there is one practical difference: I know for a fact that Ruby runs on the iPhone, but I don't know about Python. That might be because Python doesn't run on the iPhone, or it might be because I'm wired into the Ruby community but not the Python community and I simply haven't heard about it.

Jörg W Mittag
A: 

I want to write software for the iPod/iPad. I find Objective-C difficult to learn.

There are the already mentioned alternatives.

However, I strongly recommend learning Objective-C if your goal is to write software for the iPhone, iPod touch, or iPad.

For a good book on Objective-C and CocoaTouch, I recommend:
Beginning iPhone 3 Development: Exploring the iPhone SDK
by Dave Mark and Jeff LaMarche (from Apress publisher)

Between Ruby and Python, which one is best suited for writing software for iPod/iPad?

As already mentioned by others, Ruby (via Rhodes Rhomobile).

Myself, I'm a Python fan. So I get to pout in the corner.

Please advise which tutorial book for the best one?

The Rhomobile site has online documentation.

Eljay