

Ask HN: As a mid-level ruby developer, should I learn Java or ObjC next? - mmanfrin

I feel I should learn one of the two main mobile languages. I own an Android phone, but I feel iOS is better to develop for (in terms of making something that could sell). However, there are external benefits to both that seem to favor Java; mainly, Java is used at larger enterprise places whereas Objective-C is only useful to make Mac Apps, and nothing really beyond that.<p>I can&#x27;t decide, because they both seem useful. I have no other inclinations (I wish to continue development as a ruby dev, so this isn&#x27;t terribly influenced by future career choices).<p>What are your thoughts?
======
hkarthik
Learning Java to do Android and learning Java to write large web and server
applications for the enterprise are two completely different domains which
just happen to share the same language.

I think that one can learn the basics of Java to get started quickly, but the
majority of one's time will be spent learning the intricacies of the SDKs and
libraries.

So the bigger question to ask yourself is whether you want to write mobile
apps or enterprise apps. Pick one, and go from there. Don't worry about the
language.

~~~
runjake
This is probably the best answer here. The time to learn Java or Objective C
(the language) is miniscule compared to the time it takes to learn the
frameworks and the Way To Do Things.

Learning to write Android apps is going to teach you very little about writing
J2EE apps, so don't let that weigh your decision.

------
eonil
Obviously C/C++. The most insane choice but also the only sane choice. C/C++
is supported by literally EVERY platform. Whatever platform you try, it will
support C/C++, so that's most useful. Even you can't find usefulness from it,
it will make you to feel any other language just easy.

~~~
pairing
I agree with @eonil. I'd recommend learning C. As someone coming from a Ruby
background, the ability to understand the ruby internals could be very
beneficial. I've started on this path myself. I bought an Arduino to make it a
fun electronics / C side project.

------
deedubaya
The choice between the two doesn't matter much, as others have pointed out.
The part that does matter is which language is going to keep you engaged?

Learning another language/framework and how to use it means an investment of
time, and whichever one will provide that interest/motivation to keep using it
will be the one for you. You note that iOS may be easier to make sellable apps
for, so that might be the better route for you.

------
gesman
Java. The whole world using it vs. ObjC only Apple.

------
dvdand
I think the premise of your question is wrong. Why do you have to decide to
learn one or the other? Why not both? Another way of thinking it would be
which one should I learn first? The answer to that is it depends on what your
plans are? Are you trying to build apps to learn the platform or build a
business?

Hope this helps.

------
matt_heimer
What type of apps? I ask because I'm using LibGDX to create games for Android
and those games can run on iOS by using RoboVM.

Also Android development can be done on almost any type of computer while you
must own a Mac to develop iOS apps.

