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.
Re:C# Language Specification 5.0
by seanmcdirmid on Tuesday June 25, 2013 @12:40AM
(#5937565)
> 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.
I find C# to be much more idiomatic than C++ or Scala. If you think C# is bad...stay away from those languages.
That is just a symptom of the typical enterprise culture.
The consulting company I work for still gets requests for project in Java 1.4, for example.
My last .NET project we had some issues because there was a mix of .NET 3.5 and 4.0 across teams.
Re:C# Language Specification 5.0
by adamconroy on Tuesday June 25, 2013 @03:03AM
(#5937980)
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.