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.

I started learning Java a couple of months ago. I also wanted to become more exposed to linux so I installed ubuntu and started working with Java since then. In the meanwhile however I became more interested in C# and in learning the Windows platform. At this point I'm asking myself if I should stop learning Java and move to the .NET world. I don't hate or dislike Java by the way, I am just more curious about windows/.NET at this point in time.

My question is, should I remain with Java or go with C#/.NET? What is your advice?

share|improve this question

closed as off topic by World Engineer May 30 '13 at 18:18

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

    
C# is way cooler. –  Job Nov 27 '10 at 1:21
    
Can the person who proposed to close this question comment with a link pointing to the exact duplicate ? –  Daniel Nov 27 '10 at 18:34
    
@this.Daniel: I was mistaken; the other question is not quite a duplicate. The close vote will age away after a couple of days. The other question was "Should I learn two languages at the same time?" –  Robert Harvey Nov 27 '10 at 22:00
    
add comment

4 Answers

If it will help your decision, Java is a relatively stable language; it's speed of evolution is much slower than that of C#. Consequently, C# is getting all of the cool new features more rapidly than Java. Whether this is a good thing or not depends on your own point of view.

share|improve this answer
add comment

You can use Java or C# on either Windows or Linux. Look into Mono, for example, to use C# on other platforms.

share|improve this answer
add comment

Study both while you can along with good programming practices in general. You're in an enviable position that may not last long due to a new project/job requirement. Hopefully, you'll learn enough about both of them to be able to compare and contrast the two and make objective decisions on when one is more appropriate than the other. I hope you can remain in control of this choice as long as possible.

share|improve this answer
add comment

At any point in my career I am learning two or three languages at the same time. It's fine to have a couple pots on the stove because you'll get bored or run into a problem that blocks you for a while with one so you temporarily switch to another.

Think of it this way: corporations/potential employers don't care as much about whether you are a total expert in a particular language as they do whether you are flexible and can turn out good code in any language they throw you at.

Having a good understanding of constructs and being able to apply them in multiple languages beats knowing esoterica about one language.

share|improve this answer
add comment