views:

147

answers:

2

I've been learning programming for some months now, mainly with java and C#. They seem so similar from my limited knowledge, so I'm trying to grasp an understanding of the practical differences. Could seasoned programmers please enlighten me as to which programming language is more suited for which kinds of jobs?

In what situation would you say "To create this kind of software, java is more suitable than C#" or "To create this kind of sofware, C# is more suitable than java"?

+9  A: 

Java was originally designed to be the portable solution. If you need something to run on multiple operating systems you would probably want to go with Java.

Ken Struys
Hmmm. The difference isn't as great as you might think given other CLR implementations like Mono: http://www.mono-project.com/Supported_Platforms.
Corbin March
@Corbin March: Once mono works consistently across all platforms on latest .net implementations, I might be inclined to agree with you. Until then, I would say that Java has a strong lead still in this area.
aperkins
I assumed I would get at least one comment on "how to get c# cross platform", @aperkins thx for a little defense :P.
Ken Struys
@Ken: Given I run OS X, Windows and Linux, and have had nothing but problems with Mono, I really cannot believe the people claiming that C# is truly cross platform. Once I have a true ability to run all .net compiled code on OS X and Linux, I will believe it. :)
aperkins
+6  A: 

From my experience in the financial world, the trend I see most commonly is Java being used on the backend (typically Linux servers) and C# (WPF) being used on the front end. I think this trend is here to stay until either Mono becomes widely accepted or Microsoft figures out a way to make their Server OS's free :)

I'm not saying Java is more suited for back end than C# (although I do think WPF has the edge over anything Java has for front end development) all I'm saying is that this is a very common trend in many financial/trading systems.

BFree