Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

First I would like to say that I'm not developer, but I love to code whenever I can. I mainly use Perl which is the language I use when doing System Administration.

For different reasons (that I'm not sure of) I recently have been told to learn Java by my manager, so I'm starting to do so.

I was thinking that I should take advantage to the situation to build some Android Apps. But it seems that Objective C has increased in popularity recently because of the iPhone and iPad.

I want to know if it's worth it to develop with Java for Android compared with to develop with Objective C for iPhone (or iPad). Of course, not based on the APP functionality, let's say someone has developed the APP X for both platforms. In which platform would it become the worthiest?

And no, I'm not gonna learn both (sadly ain't got much time)

Thank you!

share|improve this question
add comment

4 Answers

If your boss has told you to learn Java this is what you should do in the short term. He most likely wants you to start developing stuff intended for use by others - I do not know if you have other developers - and not necessarily Android.

Do that first - you will find that the Java language is not big and quite well defined. The Java runtime is another matter, so there is plenty of learning to do there.

When you have satisfied your manager and feel confident, then get a Mac and start playing with the iPhone emulator. You will quickly see if you find it fun, and then you can pick that up too.

But for now, do as you are told, and learn it well so you do not just program Perl in a Java setting (because THEN you will be frustrated, and those inheriting your code will be frustrated too).


And if it is worth it? Well, a very large portion of server side applications intended from the start to be big, are written in Java as it is robust and allows for platform switching if needed. There is a very large market for server side Java programmers.

share|improve this answer
add comment

You may want to refer to this blog post, it has some great information on iPhone vs Android development, the pros and cons of either.

From a purely monetary standpoint, there is no way to say that you are going to make more money making an iphone instead of an android app or vise versa. The apple store has about 350,000 apps, about 100,000 more than the android store, but you can take this information any way you want.

The bottom line is that there is money to be made in android or iphone development and you should probably pick the one you prefer to develop for.

share|improve this answer
    
Thank you, I'll look at that post you were talking about, in fact I must learn java now, which is interesting for me, but i was wondering about the worth on it by myself beside Objective c (Iphone/Ipad) market, so I'm definetively gonna use Java and consequentely will go for the android, but i was curious comparetively. I would be able to make my learning as worth as it could. –  arrrrgv Jul 21 '11 at 7:11
    
Glad I could be some help. –  Chris Knadler Jul 21 '11 at 7:13
add comment

And no, I'm not gonna learn both (sadly ain't got much time)

I wouldn't be so hasty. Java and Objective-C are similar enough that once you're familiar with one the other should be very easy to pick up. Likewise Android and iOS aren't all that different either. So you can view one as a stepping stone to the other.

share|improve this answer
add comment

Do you have a Mac?

If no. Problem solved, you're doing Java.

will your boss expect you to use the Java he's asking you to learn? If yes. Problem solved, you only want to learn one, you need Java, learn Java.

Personally I disagree strongly with GrahamParks assertion that Objective C and Java are similar. There are a lot of similarities, but you're talking about a perhaps a week of saved effort learning the language structure. I found the idioms of Objective C harder to pick up than Java, and the APIs for both are huge and very different, even where they achieve the same thing.

If I were going to do mobile development professionally, six months ago or more I would of started on iPhone. Single platform, limited range of hardware to cater for, limited range of versions and feature variations all make life much much easier.

These days, I'd probably start on Android. The variety of form factors and versions is still an issue, but the user base is large enough and the platforms are converging enough for it to feel more practical now.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.