From the article :
"C# 4.0, expected with the next version of Visual Studio."
Oh FFS. So yet again MS make some incremental improvement to the .NET framework and they think that in order to get it, I'm going to pony up for yet another new version of VS at 500 bastard quid, do they ? Gosh, I feel all warm and valued as a developer. Bastards.
"The statically typed C# was introduced with .NET in 2000 and has found huge success in the enterprise during the intervening eight years."
Because you get (nearly all of) the powerful semantics of C++, but you can't hurt yourself (as much) unless you specifically ask to. In the market that C# targets (enterprise RAD), that's a valuable asset.
"People say: 'Anders have you gone stark raving mad .. ?'"
Well, they certainly said that when you went to work for the Beast, yes :-)
And now :
@Daniel Chapiesky :
"So... the big idea is to let "managed" code (which ostensibly is "more" secure) have pure unfettered access to the existing code base of "COM" (read COMpletely unsecure) and that is somehow extremely cooooooool."
Given that much of windows' interoperability model is built from COM (including the parts of it that live inside the VS IDE, ironically enough), and that you want your applications to integrate with it with the least amount of effort and pain, it's more a necessity than "cooooooool". Since .NET (despite what the article appears to say) is nowhere near having replaced COM, any improvement is welcome. COM may suck, but it's core to the OS, and having better access from managed code beats the shit out of using P/Invoke to get around limitations, which just adds another thing to go horribly wrong and is pretty horrible to implement.
As for "ostensibly more secure", the idea of managed code is not so much to do with security as with removing the 'burden' of memory management, bounds checking and suchlike from the coder in order to improve application stability.
Personally, I do most of my Windows API and COM stuff in C++, wrapped in a DLL if it has to work with C#, but not everyone wants to, is allowed to, or can, do that. Which brings me neatly on to ...
@sabroni :
"But no, coding in VB doesn't make us feel clever"
And nor should it. You do know what the B in BASIC stands for, don't you ? There used to be a good reason to code in VB, because there weren't many competitors in the RAD market. That's not true any more, albeit that the most popular competitor is another MS product.
"I genuinely believe the only reason developers prefer C# is becuse it's indecipherable to most people."
Dealing with programmers first, there are very few professional commercial developers who haven't been taught in either C/C++ or a language whose syntax was derived from it (Java being en vogue on CS courses these days), even the lowly self taught webbies have javascript and PHP, so no competent programmer will have any difficulties with it at all. But you really seem to mean all people, incredibly, so ...
"Well written VB, on the other hand, can often be understood by anyone who speaks english."
Rubbish, pure and unadulterated. Unless you code like a complete moron. I worked with someone like that once. His argument was that his code was "easy to read", everyone else's was that it took him three hundred lines of code where ten would have done and been a damn sight easier to maintain. It shouldn't be (and isn't) a reasonable expectation that a piece of computer code should be readable to a layman, any more than you would expect a sociologist to be able to understand the notation of mathematical analysis without being tutored in it.
That's not snobbish, it's a fact about any discipline. Even if there were a language that was easy for the non tutored layman to understand (and there isn't, see the history of COBOL), there would be no good argument for using it exclusively on that basis alone.
"So what's the job of a programming language then? To make developers look clever or to interface between computer and human?"
Or computer and computer, or computer and network, or computer and hardware. I don't know why you've got such a bug up your ass about "looking clever".
"[I] don't find C# indecipherable"
Then what are you complaining about ?
"(though you can't deny it is often ambiguous)."
I don't know about the OP, but *I* can deny it is ambiguous in almost cases, since ambiguity is not permitted by the derivation rules of the language's grammar. If you write some code that is ambiguous, the parser will crap on itself and your code won't compile. There is a single notable exception to this, and it exists only because on noting the ambiguity, the C# 3.0 parser attempts to guess what you mean, which is a dumb thing for a parser to do, but even so it still throws a warning.
OTOH if you mean 'it can often _look_ ambiguous _to someone who doesn't understand the language_', well, go figure, that's because they don't understand the language.
If you feel this strongly about C#, for god's sake never look at any PERL or PHP.