I just want to hear some pro and con's - it's obvious that there is no right answer

So would Java be a better choice for a long term career? Or should I opt for .Net since it could be the platform having all the latest advances?

I just want to hear others point of view, so please don't close this question just because it's being subjective

  • Subjectivity is good
    – user2567
    Nov 23, 2010 at 8:06
  • No programming has an END
    – Gopi
    Nov 23, 2010 at 9:06

7 Answers 7


I think you should consider being proficient in both, since I believe it will make you a better programmer than one just knowing one.

For where to start? Well, where you can pick up a job. Then learn what they need you to know, and then start picking up what you lack.

Programming is a never ending process of learning, because there is so much to learn that you cannot keep up.


Both languages are very similar.

I came from a Java background but took a C# job. I got some time to learn the language and it felt like a Java copy.

Pick one and the second language will not be hard to learn.


The number one benefit of Java over .NET is it's platform independence.You can only write .NET codes for Windows environment.

I have somewhat of limited experience in both and in my opinion, if you are only going to be developing applications for Windows, then .NET is better.

Also, those who come from C++ background, would fit into C# easily because a lot of the base structures are same. This is true of Java also, but I feel C++ is closer to C# than Java. After all, C# actually means, c++++.

Someone more adept in both technologies can given better and diverse range of suggestions.


I'm a java guy by trade, but it does look that C# is the language/platform that people are migrating to. This is just my observation from jobs advertised, and my previous and current employers.

However, I also think (and hope) that Java will be relevant for a good few years yet.

Also, I don't think they are mutually exclusive. I'd rather work with a decent C# programmer on a Java project, than a rubbish Java guy.

Lots of knowledge and skills are transferable.


Choose programming, not a language. If I were still in school, java and C# would be the last things on my list. Look at the crazy academic stuff while you can, like Haskell and Lisp. Then come back to the mundane code you will spend 95% of your professional career slinging.


Learn whatever's in demand in the area where you want to live. The languages are very similar, so it doesn't take a whole lot of time to learn one once you know the other. Check out job listings for the area and see what's in demand. Part of making yourself marketable is knowing the market.


C# and Java are similar enough that if you know one, you'll be able to pick up the other easily. Contrary to popular belief, you can develop C# on non-Windows platforms, although the level of support may not be as great.

As for the long term, that's up in the air; it depends on how much Oracle continues to act like Oracle and the effect that will have on the Java ecosystem. I'm not optimistic, myself.