Entries:
Comments:
Discussions:

Loading user information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading user information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Mads Torgersen [MSFT]

Mads Torgersen [MSFT] Mads​Torgersen

Niner since 2012

I am the Program Manager for the C# language at Microsoft. I maintain the language specification and drive the design of new versions of C#. I also contribute to the design of VB.NET and TypeScript.

  • What's New in C# 6 and Visual Basic 14

    @Andre,

    We implemented await in catch and finally for C# first. It was exceedingly complicated, and the truth is we ran out of time to do it with high confidence in VB, just as some features also had to be dropped from C# at the last minute for lack of runway to do it well. I expect us to want to do it in the next version of VB.

    For the record, a lot of the VB 14 features actually reduce the gap between VB and C#. Please check out the feature list on GitHub. Many of the new VB features were already in C#.

    Whether to stay with VB or move to C# is ultimately a business decision you'll have to make based on the sum of factors affecting your specific situation. I can say that the value added to VB in VS 2015 is simply astounding: Lots of new language features, completely revamped IDE with refactorings, Roslyn analyzers and fixes, greatly improved debugging, etc., etc. From the core language experience point of view, this is the biggest renewal of VB in a long time.

  • What's New in C# 6 and Visual Basic 14

    The slides have now been updated, and they seem to work, at least for me.

  • What's New in C# 6 and Visual Basic 14

    @Jeff, @AdamMarks2, @7bitex,

    You are right, the slides are broken. I've started to ask around to see if we can get it fixed.

    The "good" news is that there isn't a lot in the slides. Almost the whole session is demo. The only slides with anything interesting in them occur before we start demoing, in the first few minutes of the talk, so you can just watch a few minutes of the video to see them.

    I'll post back here if/when I learn that the slides are fixed.

  • What's New In C# 6.0

    @Akos: Yes, the example now checks for null twice.

  • What's New In C# 6.0

    @Moemeka: The $index feature got dropped. It got a pretty ambiguous reception, and we had doubts about whether it was the right way to go about things.

  • What's New In C# 6.0

    Hey, I fully understand the concern that new short hands can lead to more convoluted code. There are many short hands we could consider adding to C#. We are extremely careful to only add ones that we think lead to more clarity in common code.

    With any new opportunity to compact code, there's going to be people eager to overuse it. It's a bit of an organizational challenge to establish what good code looks like, and how these new features can be used responsibly, in a way that fits the culture of the company.

    That said, we don't feel we have a choice but to evolve the language to improve developers' productivity and better meet new challenges. We try to take a balanced approach, so that C# can keep growing for a long time without collapsing under its own weight. But grow it will.

    Thanks for all the wonderful comments, both good and bad ones!

  • Anders Hejlsberg: Introducing TypeScript

    @FZ14: You wish for jQuery to be ported to TypeScript.

    I just want to point out that you don't actually need to port existing libraries to TS in order to get a strongly typed experience consuming them. TS let's you write "declare files" that describe a typed view of existing code, so that you can get IntelliSense and type checking against them when you consume them from TS.

    The TypeScript site contains several examples of this on the "Run it" tab. For instance, the "JQuery Parallax Starfield" sample contains a "jquery.d.ts" file that does this for jQuery. Check it out!

    Our hope is that authors of JS libraries will also author .d.ts files for them. If you write your library in TypeScript, the TypeScript compiler can also generate a .d.ts file for it, along with the JS.

    As a matter of fact I wouldn't be surprised if some JS (not TS) editors would start picking up .d.ts files so that they can offer better tool support even for vanilla JavaScript programs that consume those libraries Smiley.