BT

Your opinion matters! Please fill in the InfoQ Survey!

Mads Torgersen on C# 7 and Beyond

| Podcast with Mads Torgersen Follow 1 Followers by Wesley Reisz Follow 9 Followers on Apr 29, 2016 |

In this week's podcast QCon chair Wesley Reisz talks to Mads Torgersen who leads the C# language design process at Microsoft, where he has been involved in five versions of C#, and also contributed to TypeScript, Visual Basic, Roslyn and LINQ. Before he joined Microsoft a decade ago, he worked as a university professor in Aarhus, Denmark, doing research into programming language design and contributing to Java generics.

Key Takeaways

  • The overall theme for C# 7 will be features that make it easier to work with data, including language level support for tuples. The release may also include pattern matching for type switching.
  • C# 7 is the first new release of the language to be completely built in the open.
  • Roslyn, the compiler and API, allows a much more agile evolution of the language.
  • The Omnisharp initiative aims to facilitate easier editing of C# code in other editors, including VS Code.
  • IoT and Artificial Intelligence are emerging as key disruptive trends.

QCon talk

  • 0m 53s - Main focus for his QCon talk will be on C# the language, which is undergoing rapid change.
  • 01m 11s - C# is available on many more platforms than it was just a couple of years ago.
  • 01m 46s - For developers targeting Java and the JVM, it’s good to get a glimpse into a parallel world with different kinds of innovation.
  • 02m 18s - C#'s evolution has been inspired by languages like Scala.
  • 15m 18s - The aim is to give an updated view of what the scope of C# is compared to modern languages in general.
  • 15m 51s - C# developers can download the prototypes and give feedback.

C# 7 and the influence of functional languages

  • 04m 10s - C# 7 features will include language level support for tuples to allow multiple return values.
  • 05m 19s - The overall theme for C# 7 will be features that make it easier to work with data.
  • 05m 41s - In a distributed computing world the object-orientated model of the world, where you have stateful objects with virtual methods on them, doesn’t work so well.
  • 06m 04s - Rather than working with data structures from the inside, as you do with objects, you may need to be able to work with data structures from the outside more. 
  • 06m 29s - The team want to have some form of pattern matching which facilitates type switching, such that you can write control structures that will switch depending on the shape of your data.

Beyond C# 7

  • 06m 59s - Lucian Wischik talked a bit at QCon SF last year about Null Safety Checking in Roslyn.
  • 08m 10s - Nullability features won’t be in C# 7 but are being looked at. Another potential future feature is support for asynchronous streams.

Working in the open

  • 09m 14s - Phil Haak mentioned that C# 7 was the first version built fully in the open.
  • 09m 56s - Working in the open means the team gets immediate feedback.
  • 10m 18s - The volume of feedback is sometimes a challenge to manage.
  • 10m 52s - We have to make some hard decisions both in terms of what features to implement and the implementation details.

Roslyn

  • 12m 16s - Roslyn is the code name for our compiler as an API.
  • 12m 41s - It allows us to evolve in a much more agile fashion since anything that is language based can be built very easily from Roslyn components.
  • 13m 04s - The Omnisharp effort aims to facilitate easier editing of C# code in other editors including VS Code.
  • 14m 16s - Newer capabilities in Roslyn include exposing concrete syntax trees and semantic trees (i..e ones with all the binding information).

Disruptive technology

  • 17m 18s - IoT is just beginning; there is going to be software everywhere.
  • 18m 15s - We are at a point where we really understand what Artificial Intelligence is.
  • 19m 12s - Artificial Intelligence is starting to work effectively as a service, for speech recognition or risk assessment for example. As programmers we can still look at it as just method calls that do more fancy things. 
  • 19m 34s - AI hasn’t disrupted programming the way we thought it would. We just have really good services to call into.

People mentioned

Languages, tools and projects mentioned

About QCon

QCon  is a practitioner-driven conference designed for technical team leads, architects, and project managers who influence software innovation in their teams. QCon takes place 7 times per year in London, New York, San Francisco, Sao Paolo, Beijing & Shanghai. QCon London is at its 12th Edition and will take place Mar 5-9, 2018. 100+ expert practitioner speakers, 1300+ attendees and 18 tracks will cover topics driving the evolution of software development today. Visit qconlondon.com  to get more details.

More about our podcasts

You can keep up-to-date with the podcasts via our RSS feed, and they are available via SoundCloud and iTunes.  From this page you also have access to our recorded show notes.  They all have clickable links that will take you directly to that part of the audio.

Previous podcasts

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Sponsored Content

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT