Having used both, I would have to quote another JavaRancher (I do not recall the user, or the
thread, so please, if its you, speak up, oh, and I'm completely paraphrasing):
A software engineer asking which language to learn is like a carpenter asking if its better to learn how to use a hammer or a saw.
Java and C# (and C, and Assembler, and Visual Basic, and even COBOL
, etc, etc) have uses in different ways. Writing firmware for a microcontoller? Probably gonna have to go with Assembler, or maybe C or some other language that gives you low-level access. Need an app that will work across most known PCs with no porting? Java's probably yer best bet. Writing something that needs quick and easy access to Microsoft's SDKs, DLLs, etc? C# or Visual Basic come to mind. Need quick
string parsing? Perl or maybe Python are both wonderful in that regard, whereas all the above mentioned languages are not nearly as quick.
However, that being said, it is my opinion that Java will serve you better in learning the basics of OO programming. (In fact, you'll probably also pick up some good structural programming as well). But thats an opinion, not really based on anything scientific. The more languages you know, the better.
PS - what's an SA?
[ May 12, 2004: Message edited by: Jason Fox ]