A Noobs Question: Java or C#?

Started by
14 comments, last by mutex 16 years, 8 months ago
I am new to programming. I have started java over the summer but after reading around on the forums I have thought about trying C#. I would like to know: 1. what are the benifits of C# vs. Java and vice versa. 2. Where i could get a compiler and IDE
J.W.
Advertisement
Quote:Original post by jdub
2. Where i could get a compiler and IDE



Java:
-----

Get j2se

Get Eclipse IDE


C#:
---

Get Visual Studio Express 2005
Quote:
1. what are the benifits of C# vs. Java and vice versa.

I assume your final objective is game programming, since you are in this forum, IMHO:
for beginner, C# has:
XNA
for industrial standard, C# has:
Direct-X
and most important, there are tons of Articles and sample code in the SDK. Best for beginner.
this is slightly better for C# programming, than Java.
Of course , if you want cross-platform, java is best.
Oh man. This is definitely a trap question. Honestly either would suit you fine, I think the biggest deciding factor is whether or not you hate Microsoft.

Let me see if I can make some comparisons without anyone getting frothing mad.

- Java -
Pros:
Larger user-base
More tools
Lots of good, free IDEs to choose from
More open-source friendly
Better at being cross-platform
Not Microsoft

Cons:
Language is annoyingly restrictive

- C# -
Pros:
Language is friendlier, less restrictive
Language is evolving more quickly
Better games support (XNA)

Cons:
Microsoft
From user perspective - all existing Java software is substantially slower its C counterparts.
I recommend C#. Java is a pain and the IDEs (*cough* Eclipse *cough*) are, in my opinion, slow and harder to use than something like Visual Studio or even command line.

C# is cross platform too as nobody owns C#. Microsoft owns XNA and DirectX, but there is nothing stopping anyone from using C# with the Mono Project and the Tao Framework to make games for Linux and OS X. I'm currently in the process of doing just that. To be fair it was tricky getting set up, but now that I have things going on OS X, I'll probably write up some tutorials.

Java and C# share some similar ideologies, syntax, and constructs so either one you learn first, the other will be a piece of cake. Just go with whichever you want to try. I think Java is a bit slower than C#, but certainly not unable to make games.
Quote:Original post by NickGravelyn
I recommend C#. Java is a pain and the IDEs (*cough* Eclipse *cough*) are, in my opinion, slow and harder to use than something like Visual Studio or even command line.

C# is cross platform too as nobody owns C#. Microsoft owns XNA and DirectX, but there is nothing stopping anyone from using C# with the Mono Project and the Tao Framework to make games for Linux and OS X. I'm currently in the process of doing just that. To be fair it was tricky getting set up, but now that I have things going on OS X, I'll probably write up some tutorials.

Java and C# share some similar ideologies, syntax, and constructs so either one you learn first, the other will be a piece of cake. Just go with whichever you want to try. I think Java is a bit slower than C#, but certainly not unable to make games.


While it is true that C# runs on multiple platforms (with mono) one has to remeber that mono sucks (its extremely slow compared to Suns JVM or Microsofts .NET).
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Quote:Original post by Karnot
From user perspective - all existing Java software is substantially slower its C counterparts.

Even if that were the case, this discussion is not about C. You do realise that C# has nothing to do with C, right?
Quote:Original post by Karnot
From user perspective - all existing Java software is substantially slower its C counterparts.


This isn't the case any more, hasn't been for years, and even if it was, C# and Java are handled virtually identically, to the best of my knowledge (compiled to bytecode and then JIT compiled -- with the option of forcibly caching this compiled code).

@The OP - There is little between them. Personally I'd go for C#, simply because a) I'm familiar enough with it to know I would recommend it and b) Visual Studio (Express) seems like a better IDE than Java has to offer (although Eclipse does seem alright, in fairness).
[TheUnbeliever]
Yeah, sorry, i didnt realise the topic was about C#.

This topic is closed to new replies.

Advertisement