# c# or java. which is better?



## techian_cool (Sep 7, 2007)

hello

i have knowlege about c and c++. and i would like to learn a new language.. But i'm confused which i must learn now java or c#... 
please could any1 solve my confusion..

Techian_cool


----------



## Chicon (Jul 29, 2004)

Hi techian_cool,

Java and C# are similar languages. You won't have any problem working with both of them as you already have knowledge of C/C++. Personally, I use Java mainly for Web applications in my profession. But I recommand C# as it looks more like an improved Java. Indeed, Java lacks performance mainly because of its 'garbage collector'.


----------



## artur02 (Sep 24, 2007)

I think there is no 'better language'.

C# has learnt from Java *technology successes and failures*. On the other hand, Java has more exciting OO solutions (including heavy usage of design patterns).

You can also *check job offers*. C# and Java are very popular languages.

*C# is a Microsoft-era language*. If you use C#, you will have to use mainly Microsoft technology. Java is a Sun product. It's much more OS-independent, and you won't rely on the platform services as deeply as you do in C#.

Finally, if you learn Java, *you learn a platform*. If you learn C#, that's just a language on the .NET Framework. So I think you have to learn the frameworks, not the languages. You can learn Java or C# in 2 days. You have to learn a framework for years to be a professional developer.


----------



## Chicon (Jul 29, 2004)

Hi artur02,

You're right when you say that C# is a Microsoft-era language. But some projects exist to implement the .NET to other operating systems than Windows.
You may be interested in the Mono Project. They have just released a new version.


----------



## techian_cool (Sep 7, 2007)

hi artur02 and chicon.
thanks for your suggestions.. it has really helped me.. for now i think i will start to learn java - the platform, right!!! but befor starting to learn java i would like to know about some good online java resources and projects that could make my learning easier....!!!

techian_cool


----------



## bdimag (Apr 8, 2001)

my computer science teacher used to preach on the java bibles...


----------



## GoldPirate (Jan 3, 2008)

I suggest C#. Its more modern than java and better for making programs. Also, its somewhat easier if you do Visual C#.


----------



## WouterSimons (Oct 3, 2007)

Better for making programs?

Well, I do not know about that... Java is an older language with much the same capabilities as C#. The structure of the language is fairly similar, but there are differences. Java has runtime environments on all platforms, and I know there is Mono, but developing .NET for that is not a simple thing to do. Lot's of stuff does not work in Mono.

The class library of .NET is great and very extensive.

Java is much more multi-platform.

Learn both is my advice  If you must learn one than choose whichever you would enjoy learning most. I like Visual Studio as an IDE personally, so going for .NET with VS would make it easier to quickly build graphical applications and ASP as well.


----------

