C# Futures session


  Anders characterized C# 1.0 as getting something out there, 2.0 as being about Generics, 3.0 being about LINQ, and 4.0 being about Dynamic Programming.  He addresses the zealots on both sides of the dynamic and static argument and states that both have benefits.  There is a new keyword coming in 4.0 – dynamic.  When you define a variable as dynamic any subsequent actions on that become dynamic actions.  Making a method call involves a call through the DLR (I would assume) to dynamically dispatch to that method, property, etc…  I love the way C# is going – we have the ability to leverage dynamic when needed, but within the static framework that so many of us are comfortable

  With the new dynamic capabilities in C# 4.0 it should help developers leverage anonymous types more effectively I think since you get duck typing and so you can take an anonymous type and use it like it is a richer type (or at least use the properties of the anonymous type that way since an anonymous type doesn’t have any methods).  What you do today using the Silverlight-Javascript bridge could largely be done by C# now.

  Concurrency is the elephant in the room in programming today – Moore’s law will yield more cores, but not faster ones – there is no silver bullet here.  It will take hard work in language design and I believe likely with developers as well to change our perspective and perhaps how we develop to adjust to the multi-core revolution.  I wonder if things like Windows Workflow and Azure represent efforts in this space as they allow developers to plug into concurrency in a different way.  As has been highlighted in an internal training class that I have been taking lately state is the killer to concurrency.  The more state has to be maintained the harder a problem concurrency becomes. 


Technorati Tags: ,
This entry was posted in Uncategorized. Bookmark the permalink.

1 Response to C# Futures session

  1. Kelly says:

    Excellent Posting. Even for us vb.net diehards. :)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s