In order to make a choice for future what will be good Java or C Sharp? Now a days there are many jobs in C# and many clients are moving towards .Net(as MS is providing support). I have heard that Java is very slow as compare to C#. I have worked in C++ and VB but now i want go for Java or .Net its getting quite complex to decide help me out here. Thanks
|
closed as not constructive by Mark Trapp Dec 19 '11 at 17:28
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.
|
The first thing you need to learn when needing to make these kind of decisions, is to actually investigate things for yourself, instead of just relying on what other people say. The reason for this is naturally because this is what you are expected to do in your future professional life. Saying "Java is slow compared to X" literally begs for you actually controlling it. But to give you an idea of what you basically need to choose between:
This is the really major differences. Except for those C# and Java are quite similar. |
|||||||||||
|
|
There's plenty of work for talented developers in pretty much any development platform, especially C# and Java. They are both well supported by large communities and have excellent tool support. Truly I don't think anyone can honestly say you will have a better carreer if you pick one or the other, so you might as well flip a coin. |
|||||||||||||||||||
|
|
It is a difficult choice. My criteria would be: C#
Java:
For my money, I'd choose C#. I must admit that I'm biased, however: I have limited experience with Java, have have been .Net developer for some years, and I'm not really bothered about targeting non-Microsoft platforms (because my employer isn't). At the end of the day, however, I don't really think that Java development and C# development are that different. Whichever you choose, I am sure you will have a long and lucrative career. |
|||||
|
|
For Java:
For C#:
If I were starting my career now, I would probably go for C#, but it's close. Knowing what I do now though, I would be careful about sticking to anything for too long. You may find yourself in a position where you can't switch to whatever the new hotness is because you've spent too much time mucking about with the languages of the 1990s and 2000s. It could well be that whatever the next big corporate language is has already been invented, and you might wake up one morning and find yourself ten years behind. |
||||
|
|
I swear that once you learn one you can easily transfer to the other. I was a Java dev about 10 years ago when the .COM implosion hit and hesitantly went to my first C# interview. The biggest issue is different casing (in Java it's toString(), in C# it's ToString()). |
|||
|
|
|
It depends where you are now, but to me it's a matter of personal taste. I started my career 4 years ago, and I had the opportunity to do both Java and C#, and as of now I spent equal time on each. My personal choice lies with C# as I'm more generally interested in the .NET world as a whole. I don't know why, it's a guts feeling I have. There is a lot more than just the programming language itself, there is all the community and all the products that revolves around the platform. If you try both (and actually work with both), you will get invaluable experience that can be leveraged later as a great asset (I crossed a lot of people that only did .NET or only did Java). Doing both will lead you to a position where you know what you talk about and give you a lot of insight if you have to make them work together at some point. So my advice, based on what I did, is to try both and see which one you prefer. Don't base you choice on the current market. |
|||||||||
|
|
You're forgetting that you can use .NET in C++. That way, you don't even have to learn a new language at all. |
|||
|
|
|
I would go for java, as it's features are more stable, and there are more tools and libraries that target it even if C# and .net is a breath of fresh air, C# is gaining a lot of strange features in the core language compared with java... One of these days you won't even know if C# is based on OO, functional or a completly different paradigm. And java is more stable about that. Also for the ones that say that desktop programming is more easy with C#, lets say that I would prefere swing to WPF or Windows Forms 1000x. |
|||
|
|
