Archive

Posts Tagged ‘dynamic language’

PDC 2008 – Day 1

October 28th, 2008

PDC 08 Day 1 did not disappoint.  Here are some of the highlights from my day:

Keynote
They keynote was a pretty good introduction to Microsoft’s ideas about cloud computing and how they are going to bring it to the world.  I was more interested in the “cloud” after leaving the keynote than I was when I walked in so I guess that’s a good thing.  I can definitely see the benefit to putting and running a lot of stuff out in the cloud.  I was pretty disappointed that there was no funny/quirky video (ala Bill’s last day) during the keynote.  :(

CRM
My fist session was the MS CRM which was fairly interesting.  The CRM 4 stuff was pretty basic where they highlighted CRM’s offline ability and the seamless way the UI can be integrated right into outlook.  The really good stuff was when they showed the CRM 5 stuff.  They have done some great stuff in the designer allowing admins to really do a lot more with customizing the forms in CRM and making them more useful.  Things like related lookup fields which support the ability to cascade in the UI was a very cool feature.  Other new features are filtering lists, native charts with drill-down, inline sub-grids, support for headers and footers in the forms.  One other nice change was no more pop-up windows when you select records.  Instead they change the main window to show the record and then the navigation around the frame changes and the left nav “slides” off screen hidden from view but still accessible when you mouse into the left side of the page.

C# Futures
By far the coolest session of the day was Ander’s C# futures talk (here is the video from this talk).  Anders showed some of the really cool features coming in C# 4 as well as a few small peaks into 5!  The changes in C# 4.0 centered around 4 topics:

  1. Dynamic typed objects (this is the main feature of 4.0) – Basically this introduces a new static type in C# called dynamic… yes the irony of this new type’s name wasn’t missed!  LOL  By using dynamic types you can allow the runtime to figure out the type of the object instead of the compiler.  This allows you to write C# much in the same way you write JavaScript.  In fact it’s so similar to the way you write JavaScript at one point Anders took some JS and pasted it into C# and changed “var” to “dynamic” and “function” to void and it compile and ran!  Very Slick.
  2. Optional and named parameters – this is a great feature that will greatly reduce the number of signatures you need to write for some of your API’s.  Basically it allows C# to act a bit like VB in the sense that you can have your method parameters be optional and assign them default values to be used if they are not passed in.  Additionally the callers of methods can specify which parameter they are passing in by naming it in the call.  This is done with a semicolon used in the method call – i.e. object.Method(message: “this is the message”);
  3. Improved COM interop – Microsoft leveraged the features from the new dynamic type and optional parameters to greatly simplify the calling of COM object from C# code.  This essentially lets you call COM objects just like you would if you weren’t doing interop instead of having to pass in a bunch of placeholder objects for missing values.
  4. Co and Contra variance – Basically this features allows safe operations to be performed object that are more derived than their interface or delegate. So for instance you could pass a List<string> into a method that was taking IEnumberable<object> as an argument.

Beyond the 4.0 features Anders chatted a little bit about what they are tinkering with for C# 5.0. One of the biggest things they are doing is rewriting the C# compiler in managed code. Once the compiler is written in managed code the plan is to open up the compiler so that people can tinker around with it. Anders then proceeded to show a jaw dropping demo where he showed an application that could compile an app as you typed it into the command line and then show you the effects of the new compiled line of code immediately as you typed it. It was very impressive and the jam packed room was filled with open mouths and clapping hands.

After the sessions we headed over to the expo and stocked up on some conference swag. One of the most interesting things in the expo was Verne Troyer (aka mini-me) signing autographs at the devExpress booth.

All in all a great day @ PDC 2008!

.NET, Programming , , , , , ,