The stuff actually fits in the language pretty well. What has resulted, however, is that there are multiple ways to skin a cat in C#, and there's very limited guidance on what's considered idiomatic.
This is complicated by the fact that many .NET/C# shops have coding standards in place that don't go much beyond C# 2.0. The last C# interview I did, at an allegedly "progressive" .NET shop, the interviewer barred me from using null coalesce in a whiteboard example because "That's hobby project code. It's not how we write production code"
Yes, the whole fights of people confused about "var" and avoiding it shows that a fair amount of MS's target group is simply not interested in proper language research or design. I'll admit that I love the ideas behind the CLR (the VM design is pretty slick, although it's stagnated the past years). I think some parts are really excellent (the generics), but when I approach a vendor and I hear they're using .NET, it is a slightly negative flag.
I too had a boss (new owner after acquisition) say "no you're not allowed to use lambdas".
If you want to start a flamewar just go to a C++ newsgroup and ask around about using type inference with auto.
This is typical enterprise stuff, I bet most typical enterprise already making the switch to Scala and F# also force their developers to type annotate everything.
Way to go extrapolating crass generalisations from one dud interview. Every single dev team I have come across thinks they are the duck's nuts, and the team leads even more so, resulting in embarrassing overconfidence in their own opinions as per your anecdote. I noticed this over the course of a few decades spanning many languages/platforms. I recall my very first graduate programmer job interview in 1989, where I was asked by the interviewer if I defragged my hard disk weekly, and I said no I do it once in a while, and he couldn't let it go and wanted to argue about how important it is to have a regular defragging schedule, wtf, anyway I didn't get the job.
The stuff actually fits in the language pretty well. What has resulted, however, is that there are multiple ways to skin a cat in C#, and there's very limited guidance on what's considered idiomatic.
This is complicated by the fact that many .NET/C# shops have coding standards in place that don't go much beyond C# 2.0. The last C# interview I did, at an allegedly "progressive" .NET shop, the interviewer barred me from using null coalesce in a whiteboard example because "That's hobby project code. It's not how we write production code"
Great language, terrible culture.