PDC10: Future Directions for C#, Visual Basic, and F#


C# & VB Session | Ch9 Live Anders | Ch9 Live Async Team | Async CTP | Roslyn | F# Session | Languages Panel | Podcasts | Booth | Ask The Experts | Meet Anders and Don

Professional Developers Conference 10 took place October 28-29 on Microsoft campus in Redmond, WA. At this event, we shared Microsoft’s future directions for C#, Visual Basic and F#, and produced a lot of great content! Here’s a roll-up of the materials.

The Future of C# and Visual Basic, by Anders Hejlsberg


Anders’ talk was the #1 most-viewed and #1 highest rated breakout session at the event! This was the session where we announced the Async CTP and gave an update on project codename “Roslyn”. You can watch the video on-demand here. Learn about all the improvements planned to improve asynchronous programming in the next version of C# and Visual Basic, with no more callbacks!

Twitter Buzz:

· maryjofoley: Anders Hejlsberg: The main emphasis in the next versions of C# and VB will be asynchronous programming
· bauketeerenstra: YES! Good move!   Anders Hejlsberg: The main emphasis in the next versions of C# and VB will be asynchronous programming #pdc10 #yam
· jangray: Anders Hejlsberg’s Future of C# and VB talk intros async methods and await operator that make async programming easier for mortals #pdc10
· vonlochow: Great presentation from Anders at #pdc10 yesterday. Simplified async handling ftw!
· gioindahouz: C#5.0 Parallelism asynchronous with AsyncCTP and Anders Hejlsberg  ! #Pdc10 http://bit.ly/bBGOfV
· nahojd: The new async features that Anders Hjelsberg talked about seems really cool! http://bit.ly/bBGOfV Downloading the VS async CTP now!
· Jmccliment: Watching Anders Hejlsberg’s #PDC10 talk on The Future of C# and Visaul Basic.  Async extensions look *amazing*.
· timjroberts: I’m liking async/await in future C#, but I’d also like Anders at his team to look at formalizing concurrency too (Axum?). #pdc10
· Bennedik: Oop, Anders did it again. Masterplan revealed, and it is beautiful. await C# v.next #PDC10
· obelink: Think synchron, but write asynchronous software… that’s the lesson from the session of Anders here at #pdc10
· jmccliment: Anders Hejlsberg: “It’s delegates all the way down.” (18:56 in The Future of C# and Visual Basic).  Nice.  #pdc10
· brian_henderson: via Anders: Compiler as a Service (CaaS): http://twitpic.com/31nloe
· airdo: Finally had chance to hear Anders Hejlsberg, chief architect of C# language. My fears of possible language degradation are gone.
· MostafaElzoghbi: very structured talk by anders hejlsberg for furture of Csharp : Thanks a lot for ur effrots  #pdc10
· ramamurthyk: Watching the future of C# and VB. #languages #pdc10. Great presentation from Anders.
· HHreinsson: PDC10 C# goes async. Great demo on whats to come in the future in .NET from Anders Hejlsberg. Thanks for pizza, Microsoft.
· brian_henderson: highlight of the day.. was brilliant Anders Hejlsberg talk: http://bit.ly/bvuL53  #pdc10
· estep: #pdc10 Cool! Anders’ session is available already! http://bit.ly/bBGOfV (Yes, I’m an Anders Hejllsberg fanboy. Sue me 🙂 )
· chevenix: Anders Hejlsberg asynchronously saved the #PDC10!
· DennisCode: Got to meet Anders Hejlsberg after his session at #PDC10 http://twitpic.com/31oui6
· thomaslbaker    One of my top 5 things from this PDC (Anders Hejlsberg & .net built-in Async) http://goo.gl/e53O  Find his session, for more detail.  #pdc10

Channel9 Live: Q&A with Anders Hejlsberg


This session was an hour of Q&A with Anders, while being interviewed by Charles Torre and attendees on Twitter. You can watch the video here.

· Shawty_ds: #ukpdc10 watching anders q&a, rapid fire questions interview on ch9 live from #pdc10
· estep: #pdc10 Watching Anders on @ch9live . It’s like watching Edison.
· jasonoffutt: Anders Hejlsberg on @ch9live talk about Compiler As A Service. Preparing to have my mind blown when I catch his session.
· eoszak: Listening to Anders Hejsberg talk on async VS and caas…awesome stuff! #PDC10 @ch9live
· MostafaElzoghbi: really smart discussion about how async is working in c# thanks anders
· Kristijanf: Watching Live Q&A with Anders Hejlsberg about async programming. Just awesome. #PDC10 #ch9live
· abhi2434: Anders Says: No aspect oriented programming for now
· postsharp: Relieved to hear from Anders Hejlsberg himself that MS is not entering AOP so PostSharp will confidently stay in business :).
· vstuart: I love being able to tweet questions for #pdc10. Anders just answered my question live on @ch9live. Yeow!
· Marcjacobi: My question was answered by Anders Hejlrberg! w00t!

Channel9 Live: Q&A with Mads Torgersen, Lucian Wischik and Stephen Toub


In this session, Charles Torre interviewed the Async design team with questions from the audience about the Async CTP. You can watch the video here.

Visual Studio “Async” CTP

The Async CTP has generated a lot of buzz. We’ve totaled over one million touch points with developers around the Async CTP, between PDC videos, Channel9 videos, Blog views, whitepaper downloads, web page views, and more. The Async CTP WebPage is a top visited page on the MSDN Dev Centers. More details on Async CTP content below.


· Making Asynchronous Programming Easy by S. Somasegar
· Jason Zander: Tutorial: Pic Viewer Revisited on the Async CTP by Jason Zander
· What’s Next in C#? Get Ready for Async! by C# FAQ
· Announcing the Async CTP for Visual Basic (and also Iterators!) by VB Team
· Async CTP Series by Lucian Wischik
· Async CTP Series by Stephen Toub (7 posts!)
· Async CTP Series by Eric Lippert (0.5 million views!)


· Ch9: Anders Hejlsberg: Introducing Async – Simplifying Asynchronous Programming (117,000 views)
· Ch9: Mads Torgersen: Inside C# Async (63,000 views)
· Ch9: Lucian Wischik: Inside VB.NET Async and Customizing Awaitable Types (47,000 views)
· Ch9: Stephen Toub: Task-Based Asynchrony with Async (50,700 views)
· Ch9: Visual Studio Async: Meet the team (78,000 views)
· DevExpress Interview: Mads Torgersen on Async


· 101 C#/VB Samples for the Async CTP


· Async Whitepaper
· C# Language Specification for Asynchronous Functions
· Visual Basic Language Specification for Asynchronous Functions and Iterators
· Walkthrough: Getting Started with Async
· Walkthrough: Iterators in Visual Basic
· Task-Based Asynchronous Pattern Overview
· TPL Dataflow


· C# and VB – towards joining F# with asynchronous programming support by Don Syme
· C# 5 Blog Series by Jon Skeet
· Visual Studio Async CTP for the rest of us… by Michael Crump (CTP walkthrough + install experience)
· What is Visual Studio Async? by Gunnar Peipman
· Rx and the Async CTP
· Visual Studio Async CTP: The C# Perspective
· C# 5.0 Asynchrony – A Simple Intro and A Quick Look at async/await Concepts in the Async CTP
· Visual Studio Async CTP – An Analysis
· Async Series by Peter Richie


· Sneak Peak: Asynchronous Syntax for Visual Basic and C# – Jonathan Allen, 10-28-2010, InfoQ
· Microsoft Launches Visual Studio Async CTP – Gaston Hillar, 10-28-2010, Dr. Dobb’s
· Microsoft hails async programming for Visual Basic, C# – Paul Krill, 10-29-2010, InfoWorld
· Download Async CTP for Visual Studio 2010, Easy Asynchronous Programming – Marius Oiaga, 11-01-2010, Softpedia
· Visual Studio async CTP with Silverlight – Nikos Printezis, 01-06-2011, DZone


  • I just watched the PDC demo, and the elegance of async methods completely blew me away. The way it’s done feels to me as intuitive as it gets. It feels perfectly at home in C#, especially next to the way iterator blocks are done.
  • I’m very impressed with how easy it is to interpret and understand this model and how well it composes with itself (which is typically one of the challenges of asynchronous development).
    • For the record… async was the coolest feature of this year’s PDC, at least of all the features I’ve heard of so far.
    • Thanks to the great goodness of Microsoft and great genius’s of our time … I’m so hyped up and excited about all this and the way .NET is going, I think i’m going to pass out any minute! 🙂
    • This is…. amazing. I think it might even be more beneficial than Linq. Linq made things we already did prettier. This stuff is going to help us do things we didn’t even consider doing, because they were just too painful.
    • I watched your PDC2010 video with great interest, and I’ve just completed reading your "Task-based Asynchronous Pattern" document from the async CTP. First, let me say: Awesome. Thank you. Awesome. And thank you. I have given talks about asynchronous component design, and I’m *so* glad to see TAP has been so well thought-out!
      • It looks like it would make any kind of actor-based simulation really easy and straightforward to write.
      • I created a really neat demo using the CTP for our silverlight client, which needs to make an inordinate amount of service calls to a service, and we’re seeing a code reduction of perhaps around 70%, making the resulting async code much cleaner to read and debug, not to mention how much easier the error handling bit is. Bottom line: we NEED to use this.


      See questions & comments at the Async CTP Forum on MSDN (162 threads)…

      Project CodeName “Roslyn”

      In the last section of the C# & Visual Basic Futures session, Anders gave an update on project codename “Roslyn”, also known as compiler as a service. “Roslyn” is a long lead project in which we’re re-writing the C# & Visual Basic compilers in C# & Visual Basic, respectively. The new managed APIs will allow developers to query the compiler for information. We are looking forward to the new scenarios that this will enable, including a Read-Eval-Print-Loop (REPL), and a host of rich IDE features.

      Twitter Buzz:

      · Svendb: CAAS or Compiler As A Service. Available on Azure soon? #pdc2010
      ·  cnurse: The "Compiler As A Service" prototype that Anders demo’d allows Paste As VB or Paste As C# in VS- cool – #pdc2010
      · Wilka: @SteveMallam the compiler as a service stuff looks impressive as well, but I’ll prob not use that. Will be cool to see how others use it
      · joefeser: RT @philiplaureano: Wow. I just heard about the "Compiler as a service" syntax tree features in C# 5.0 today. That’s practically LinFu v4.0
      · philiplaureano: Wow. I just heard about the "Compiler as a service" syntax tree features in C# 5.0 today. That’s practically LinFu v4.0 material. Yummy.
      · oryBecker: @mikehadlow Compiler as a service seems like a misnomer. The example given by Anders has been possible using the DXCore for ages. 🙂
      · TweetDeck mikehadlow: Hmm, so compiler as a service is NOT coming with C#5, but some future version?
      · mikehadlow: @jagregory The compiler as a service stuff looks really cool, but I haven’t got into the details yet.
      · GaryMcAllister: "Compiler as a service!"….. Yay!
      · roastedamoeba: Wow – love the Compiler-as-a-Service stuff. That would be perfect for the write-GPU-shaders-in-C# project that I’ve had brewing for a while.
      · defeated: catching up on Microsoft #pdc10 video on Future of C# – async/await looks nice! Compiler-as-a-Service was cool 6mo+ ago when Mono did it 😉
      · PawelPabich: @kkozmic compiler as as a service, I believe it’s on the last slide about 2 hours ago via web
      · dotjosh: @ch9live Anders: How is the new compiler as a service different than the existing System.CodeDom?
      · patbqc: @ch9live Like PostSharp, AOP might be a powerfull framework if done correctly. Please, help to fit it in compiler as a service about
      · tacoman667: @ch9live Does the compiler as a service begin to introduce the compiler into more of an interpreter?
      · nickriggs: watching anders talk about compiler as a service: http://bit.ly/dtIv3T
      · MostafaElzoghbi: Compiler as a service a new feature Said Anders #pdc10 about 3 hours ago via TweetDeck · Reply · View Tweet
      · tacoman667: @ch9live What are the strengths to having a compiler as a service?
      · johnmcbride: @ch9live Do you think you will have a CTP of the compiler as a service before .NET 5 beta’s? 🙂
      · raybooysen: anders says no to AOP in the compiler. Surely you’ll be able to do something with the compiler as a service anyway?
      · ecampidoglio: The new managed C# and VB compilers will have object models that allow programs to interact with them, a.k.a "Compiler As A Service"
      · jasonoffutt: Anders Hejlsberg on @ch9live talk about Compiler As A Service. Preparing to have my mind blown when I catch his session.
      · raphaeljavaux: #PDC10 C#5.0 : Async callable blocks and compiller as a service (integrated compiler API)
      · paul_the_kelly: #UKPDC10 Anders just demonstrated C# to VB conversion using Compiler as a Service. Neat. The COBOLATOR is still cooler though!
      · jmix90: RT @fredrikn: Async. programming and Compiler as a Service, meta programming etc, the future of C# and VB.Net (cont)
      · JeffreySax: Compiler as a service opens up many fascinating possibilities.
      · bhrnjica: RT @ChristianNagel copy C#, paste as VB – compiler as a service #pdc10#
      · rystsov: I wish Hejlsberg said that a new async stuff was implemented easily with a compiler as a service concept, but… #pdc2010
      · rystsov: It seems that future C# compiler as a service will have a very poor functionality,just a map from ast to ast, can’t add new stuff like await
      · brooklynDev: I cannot wait to get home & play w/ the new Visual Studio Async CTP. Also, that Compiler as a service looks REAL interesting..AOP baby!
      · amazedsaint: I’m a bit sad that there is no much news about the internals of Compiler as a Service in C# 5.0
      · rneeft: Compiler as a Service: codenamed "Roslyn"?? #PDC2010
      · johnmcbride: Was hoping for more info (and possibly a CTP) of the Compiler as a service…. A Little bummed #PDC
      · benoitdion: Compiler As a Service to bring AOP right in Visual Studio? Now this is getting interesting! #pdc10
      · _nilotpaldas: Love the Compiler as a Service (CAAS) bit #pdc10
      · mulbud: With Compiler as a Service, Anders demoing a way to copy C# code and pasting it as VB.NET code – pretty cool!
      · ChristianNagel: copy C#, paste as VB – compiler as a service #pdc10
      · josketres: Compiler as a Service?????? #pdc2010
      · danvanderboom: Compiler as a service in C# is being developed, but is a post-vNext feature. Perhaps the v6 theme for C# will be metaprogramming.
      · brian_henderson: via Anders: Compiler as a Service (CaaS): #pdc10http://twitpic.com/31nloe
      · paulfallon: RT @ChristianNagel: namespace Roslyn.Services Compiler as a service #pdc10
      · @jasonbock Anders is giving a "compiler as a service" update now …
      · ChristianNagel: namespace Roslyn.Services Compiler as a service #pdc10
      · mulbud: Ah, Anders going over Compiler as a Service – one feature I sorely missed from what was promised in .NET 4.0 (promised in 2008)
      · rneeft: "Compiler as a Service" update #PDC2010
      · ChristianNagel: compiler as a service work in progress #pdc10
      · johnmcbride: Compiler as a service!! Been waiting for this for a while…. #PDC
      · fatihboy: C# vNext Focus: Asynchronous Programming, Compiler as a Service about 4 hours ago via TweetDeck · Reply · View Tweet
      · raphaeljavaux: Hehe ! Looks like Microsoft take inspiration from Mono : C#5 will have compiler as a service (cc @migueldeicaza)

      “The Future of F#: Data and Services at your Finger Tips”, by Don Syme


      F# continues to spur great interest! Don’s talk was the #7 rated talk at PDC 10 and #15 most viewed. This was the session where we announced F# Type Providers. You can watch the video here.

      Twitter Buzz:

      · Nielsberglund: Another really interesting talk at #PDC10 is Don Syme’s: The Future of F#: Data and Services”! Maybe something about Axum. #fsharp
      · GeertVL: Second day at #pdc10. Afternoon going to have very interesting sessions. Don Syme and Herb Sutter.
      · r_keith_hill: #PDC10 – Don Syme talk on future of F# – giving props to PowerShell for bringing contextual info into the prog. environment.
      · Jangray: Don Syme/F#: important new work on *strongly typed* access to all the world’s data & services withType Providers #pdc10 http://bit.ly/bfWDkA
      · Talbott: Type Providers = the future of #fsharp – “The world is infomation rich – language needs to be info-rich too!” @dsyme #PDC10
      · JustinAngel: W00t! Dom Syme just demoed strongly typing the entire Freebase in F#! that is awesome. #pdc10
      · talbott: #PDC10 @dsyme – demonstrating WebData (typed information from the web) full intellisense off Football, Finanical data, weather, etc…
      · lukevenediger: http://yfrog.com/08ly2rj Don Syme talking about #fsharp at #pdc10
      · Future of F# at #PDC10 by @dsyme at http://player.microsoftpdc.com
      · pontemonti: Wow, they’re going to use magic in F#! #awesome #pdc10 #malmo
      · talbott: #PDC10 @dsyme presenting -> Net is information rich – languages are information poor – Proposition: We can fix this – magic – Type Providers
      · mikebluestein: managed to finish another chapter on my MonoTouch book tonight in spite of the fact that watching Don Syme’s F# #pdc10 talk blew my mind 🙂
      · mikebluestein: if you haven’t seen Don Syme’s F# futures talk from #pdc10, you should
      · cbilson: I really like where f# is going RT @sforkmann: Don Syme’s #fsharp #pdc10 talk blew my mind http://bit.ly/bfWDkA
      · sforkmann: Don Syme’s #fsharp #pdc10 talk blew my mind http://bit.ly/bfWDkA – Type Providers look really awesome. This will solve tons of my problems.
      · EdgarSanchez: Viewing Don Syme #pdc10 talk http://player.microsoftpdc.com/Session/04092962-4ed1-42c6-be07-203d42115274/35,871: The Future of F# #fsharp
      · codingforfood: Ehm, problem is not writing an ITypeProvider, but to get it integrated like in the #FSharp #pdc10 talk by @dsyme -any preview code soon? #in
      · JustinAngel: I love the future direction for F# strongly typing data sets through compile time type providers. This is awesome. #pdc10
      · R_keith_hill: #PDC10 – F# next to have a strongly typed WMI provider using new TypeProvider functionality – paying homage to PowerShell?  🙂
      · Pontemonti: Last #pdc10 session… F# time!
      · Thomasknudson: So stoked about F# right now!! http://bit.ly/bfWDkA  #pdc2010 #pdc10
      · mj1028: The future of F# is called Type Providers. Will Scala follow? http://bit.ly/av8quZ (silverlight required)  #F# #scala #pdc10

      “Programming Languages Panel”, with Anders Hejlsberg, Gilad Bracha, Herb Sutter, Mark S. Miller, Erik Meijer (Kodiak)

      image This is a fun panel Erik Meijer leads, where he interviews top language designers and compares & contrasts the various design philosophies. This was the 9th edition of the panel which began in 2000 You can watch the video here.


      Lucian Wischik and I recorded a podcast with Jesse Liberty on his show, Yet Another Podcast. We discussed the Async CTP, Productivity Power Tools, and Visual Basic for Windows Phone. Mads and Lucian produced another podcast about Async on SkillsMatter a couple of few weeks later.


      We had a Visual Studio booth and used this as a place to follow up for additional information outside of sessions. Team members Avner Aharoni, Alex Turner, Karen Liu, Mads Torgersen, Lucian Wischik, and Kevin Pilch-Bisson spent time at the booth, demoing new features and answering questions.

      Ask The Experts

      Ask The Experts (ATE) was held both days at lunch. Over 45 team VS Pro team members participated in the event, and had some great conversations attendees. This included 10 tables across C#, Visual Basic, F#, IDE, and Extensibility.

      Meet Anders Hejlsberg and Don Syme

      On Friday at Ask The Experts, we also advertised “Meet Anders” and “Meet Don” tables. These were a big hit and had a great turnout. Here’s a quote from one attendee:

      @Edcomingatyou: I just had lunch with Anders Hejlsberg. Pardon my language but how f#@%ing cool is that? #pdc10

      Comments (0)