Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

Portella

Member Since 18 Jul 2012
Offline Last Active Jul 28 2012 12:43 PM
-----

Topics I've Started

Java vs C# - Experts points of view

18 July 2012 - 09:35 AM

I know that this question has come up hundreds of times on forums, but it is really disappointing how one can read through dozens of threads (hundreds of posts) without getting an informed, unbiased view.

I'm a beginner programmer with very basic knowledge of C# and I see that thousands of others have the same doubt as me when trying to choose between those two languages. We receive answers like "language doesn't matter, learn algorithms, design principles, oop structure, etc", or "after learning java you'll jump to C# easily".

It's not that I disagree with the above, but apart from learning the principles, structure, logic, etc, one need to get a repertoire of tools and, in fact, the language chosen may not matter that much, but the framework linked to it can take much time to be mastered. I have read through discussions about whole teams of experienced programmers resisting the change to another framework, indicating that this is a real concern among seasoned programmers. It's not just a question of adapting to syntax.

Most discussions about both languages see the same repeated statements:
- if you take on C#, you marry Windows.
- No, you don't, you'll always have mono. (nothing is said about personal experience with mone though)
- Java is "more" cross-platform.
- C# is a better structured language. (this is the only point I see which seems to be uncontested in MOST debates, but again, it's not only about the languages, but about what its environment).
- C# has better performance. (I don't know if that is true, but the possibility of using development tools like XNA and UNITY seems to have no parallel in Java. At least, from what I was able to find, JMonkey seems to be one of the best graphical engines around for use with Java, and graphics seem rather primitive)
- Others just talk about very specific details, like GC efficiency, etc.

Synthesizing, much of what is said seem like myths, uninformed points of view, fanboy talk or biased propaganda. I've even read a recent article which presumed itself very scientifically focused stating that C# has already had it best moment, but would soon fall into oblivion.
To guide those that are beginning and that, differently from expert programmers, are concerned with what will continue to be available in 3 or 4 years from now, when they finally get productive, what do you consider to be the future of C# and Java? What is real about C# portability? What does Android java code translation, Mono, ISO standardization really mean in terms of tendencies? What about performance and graphics? Is there any engine like Unity for Java use? Will it ever be? What about future development? Some say that Java has been slower than C# in that aspect, others say that new languages based on the JVM make Java environment more worth learning.

I would like to listen to informed point of views. Analysis by those that really know about what they are talking about, not fanboy talks and propaganda. This would be very useful, not only for me, but for thousands of others that are reading through the multiple forum threads which only bring further confusion.

PARTNERS