Ask HN: As a mid-level ruby developer, should I learn Java or ObjC next?
6 comments
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.
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.
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.
Learning to write Android apps is going to teach you very little about writing J2EE apps, so don't let that weigh your decision.
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.
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.
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.
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.
Java. The whole world using it vs. ObjC only Apple.
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.
Hope this helps.
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.
Also Android development can be done on almost any type of computer while you must own a Mac to develop iOS apps.
I can't decide, because they both seem useful. I have no other inclinations (I wish to continue development as a ruby dev, so this isn't terribly influenced by future career choices).
What are your thoughts?