ktr said:Sven Groot said:*snip*
I tend to agree that since C# has introduced several new paradigms (functional, declarative, dynamic, etc...), it has become the best language for the majority of projects out there.
However, with all these new capabilities comes complexity. For a CS student with no experience with programming languages, C# is generally (IMHO) not a good first language. The language is so powerful and broad now that it is hard to know where to start if you've never been exposed to programming.
C# has had a flood of innovation (LINQ, lambdas, dynamic programming, extension methods, etc...). Not to mention all of the additional features that C# 1.0 had over Java (delegates, properties, etc...). The truth is that to you and me C# is beautiful but to a beginner it is simply daunting.
I disagree with a lot of that, pretty much all the new features in c# are additive. Just because LINQ is there doesn't mean you have to use it, same with dynamic and even generics. Especially in a taught course, I would have thought that there would have been some structure to introduce features in a logical, progressive way.
What I find more disturbing in general is the number of times comments like 'CS students with no experience with programming' keep turning up, they just baffle me. Whatever you chose to study I would have thought that you would have at least some interest in the subject before choosing that course.