I have been coding in C++ for a few years now and am comfortable with OOP concepts and Data Structures.
Now I wish to pursue a higher level language which will hwlp me in application development. After much reading, I arrived at C# and Java.
Which one should I pursue?
Some people say Java, because its open source (so what?) and has a larger community.
Some people say C# because its is standardised, has great tools to increase productivity (Visual Studio) and is faster and more efficient than Java.

So, the only reason not to go ahead with C# comes down to its not being open source. Also I read that most C# applications are compatible with UNIX systems using the mono project.

So, Java or C#? and why?

Learning Java now is like saying later on I will learn C#, as for as I know Java doesn't have solid future plan unlike MS who comes up with new version on C# and they have a road map for it.

Learning Java years ago was the right thing but now no-one knows where its heading. Learn C#

Learning Java now is like saying later on I will learn C#, as for as I know Java doesn't have solid future plan unlike MS who comes up with new version on C# and they have a road map for it.

Learning Java years ago was the right thing but now no-one knows where its heading. Learn C#

As your other posts shows you have low level of Java background so such underestimation of Java from you is no big surprise.

Java or C#? and why? It is one of never ending battles and it is difficult to not go one sided on this. Therefore I will do only few clarifications.

>>Some people say C# because its is standardised, has great tools to increase productivity (Visual Studio) and is faster and more efficient than Java.
Not sure on the part of standardised what you mean by that, could be that it is driven by Microsoft and not community so then you do not need to know more libraries and everything is given be default, you will need to clarify this. As for the tools and increase of productivity, if you consider increase of productivity drag&drop of VS, you can do such things in Java too. NetBeans can be example for it visual development, or JDeveloper from Oracle.

>>So, the only reason not to go ahead with C# comes down to its not being open source.
There is an open source development for libraries to help you with some tasks. Unfortunately previous Microsoft dealing made it more of trading, where people been selling they libraries rather then sharing. Nevertheless if you check places like sourceforge.net you bound to found plenty of them. Microsoft is also slowly opening doors for community so in few years we should see some results (Microsoft for example started actively cooperate with community on Apache POI, oibrary to help read Office documents)

>>Also I read that most C# applications are compatible with UNIX systems using the mono project.
Yes Mono is available for other OS then Windows, unfortunately till they get support from Microsoft they will always be behind with current version of .NET

So there are opportunities on both sides and you need to consider if you want to do development based on testing and discovery of most suitable library/framework or working with tools given to you by default, plus do not forget to consider where you would like to see your self in the future

This article has been dead for over six months. Start a new discussion instead.