Pär 0 Comments

This must be the third or fourth time I was viewing Anders Hejlsberg and he was brilliant as usual, with lots of small examples he easily explained what coming in C# 4.0.

The main thing with C# 4.0 is that it is opening up easier cooperation with dynamic languages by the the keyword dynamic. Declaring a variable as dynamic mean that no checks will be done at compile time but rather just invoke the methods at runtime.

Other news in C# 4.0 is going to by named parameters and default values for parameters, pretty much the way it always has been in VB. This together with the dynamic keyword makes it much easier when working with COM objects, especially Excel and Word - in the way that you doesn't need to type cast the result and you doesn't have to provide a long list of "ref missing" as parameters to methods on COM objects.

In the end he talked a little bit about what might is coming after C# 4.0, and it was mostly about meta programming. Interesting, mind bending and a little bit strange. But he also mentioned that all or most of the current programming paradigms, object orientation, functional programming and dynamic languages will come together. Perhaps not only in C# but more of a "the new paradigm is multi paradigm" style.

He did also talked about that Moore's Law isn't valid any more regarding processor speed, and connected with my pre conference day, and talked a little bit on the way we could and should address the question on parallelism - from a C# language perspective. The conclusion on this is that's about time to really start looking at this parallel, concurrent programming stuff.

Pär 0 Comments

Ray Ozzie and friends presented computing in the cloud or Windows Azure as it is now renamed/rebranded to. It'll be interesting to see some of the Azure sessions and what it actually will do.

Windows Azure is an "Operating System for the Cloud" which is suppose to ease the development and more to ease the deployment and maintenance of services running in one or more data centers with load balancing in place and multiple servers cooperating. The intension seems to be that Microsoft will remove the plumbing part of service development or rather to make it work in the production environment - so that I as a developer cam focus on developing the business logic. In the same way as we develop rich clients today, we don't have to bother about the storage and other stuff that apparently service developer have to deal with.

servicesPlatform[1]

They also talked about Microsoft Online Services where programs as SharePoint and Exchange is presented as a service "in the cloud" or perhaps it just some kind of hosting service. Well, Exchange is not a part of my daily development life, but since I've been on quite a large SharePoint project the last year I'll be investigating this further this week and I'll if I can find out the differences.

Pär 0 Comments

At first I was a little bit disappointed because the level was way to easy, at least way to easy to have categorized this session as "advanced". But after a while Phil Haack speeded up and showed the ASP.NET MVC Framework in a nice manner, and since I've just worked with one of the earlier CTP's it was nice to see the beta and to get a sense of where the product is now.

And as a bonus he called up Jeff Atwood, you know - the man behind CodingHorror blog. Jeff and a couple of more has built a new site, www.stackoverflow.com, with this ASP.NET MVC Framework and he shortly presented how he did it. It was relates to one of the Hanselminutes podcasts I did listen to on the flight to LA.

A common reflection here is that every demo or example of web apps so far here at PDC has some component of MVC in it. It may be accidental and due to some kind of hype factor, but it seem that even if MS say they will continue with WebForms their focus will be more on the MVC front in the future. Well and of course Silverlinght...

So, if you haven't looked at it buy now, it about time. Start at the ASP.NET MVC web site.

Pär 0 Comments

The first hour David Callahan gave us an Overview and Architecture talk on the subject of concurrent computing and parallelism.

It was quite a good hour and I remembered some stuff from my school days, even though it has become more complicated since then. The talk was a little bit on the theory side of the subject and I just sat waiting for some real examples, but they never appeared.

The main idea was that we can not rely on Moore's Law to have faster applications in the future, instead we must take advantage of more cores and more processors that will appear in our computers. Today most laptop has a dual core processor and within a couple of years who knows how many cores there will be -  4,8, 64 ...?

The next hour Stephen Toub brought me all examples that I missed during the first hour. But the subject was narrowed down to Mechanisms for Asynchrony. He did a very good job on explaining the history of thread within .NET over the years and how it has evolved from v1 to today.

But as I actually had done some job with threads before, both within .NET as well as earlier with Win32, it wasn't that much new stuff. But it's most of the time nice to have some recap from time to time, and it's also nice to see that there's no big areas on this subject that I've missed during my years with simple ASP.NET applications and .NET based CMS systems - which not had been that much thread intensive...

So, when I've got back the feeling of being in control of the subject again it was time for Joe Duffy to talk about Topics in Synchronization. Stephen warned us about "brain melting details" and we got plenty of "brain melting details",not in a bad way though, but in a way that made me want to learn more. Actually I went to buy Joe Duffy's book Concurrent Programming on Windows during the break. We'll see when I'll got the time to read it, perhaps it just going to sit on shelf for a while and be acting as a reference, I mean it has over 1000 pages - it's not exactly what Ill bring with me nor on my commute neither to bed before sleeping.

Concurrent Programming on Windows (Microsoft .NET Development Series)

Back to the pre-con it was time for Stephen Toub again, this time on Synchronization Best Practices. And again he delivered some good examples i VS.

For closing Joe Duffy talked about Design and Algorithms and Stephen returned with support for concurrency and parallelism in .NET Framework 4.0

Over all it was a good day of pre conference, not that much new but it made me eager to learn more on this topic. David Callahan wasn't that great of a presenter, but both Stephen Toub and Joe Duffy was excellent.