I wanted to write up some thoughts based on attending yesterday's MSDN Dev Con in Chicago. Since I knew this was coming, I purposely did not do much reading about the technologies announced at PDC. This was my first exposure to these items.
Keynote: Ron Jacobs's keynote was of course the typical "Lots of cool stuff you can't have yet". I'm interested in Windows 7, I'm one of the folks who actually really likes Vista. While I had hear about VS 2010 being rewritten in WPF this was the first time I had actually seen it, in this case showing some kind of comment view provider. This will be huge.
A lap around Oslo: I've been following Dan Rigsby's blog for a while and I got a chance to meet him before the show.
Here's what I learned from his talk: Oslo is the capital of Norway, and Microsoft wants to buy it.
Just kidding, Dan!
Now that I have a super-basic understanding of Oslo I have a couple of concerns. The first regards Dan's comment about creating a DSL that some kind of business user could use to create functionality. It is my firm belief that this won't happen in the next ten years, not because it's technically infeasible, but because Business Analysts, Managers, and the like do not want direct responsibility for systems. They like a nice, thick neck to get their hands around if something goes wrong and by that I mean us Technical folks can always be blamed for any shortcomings in the implementation of any Grand Vision. Maybe I'm pessimistic, but I cannot imagine this direct accountability happening any time soon.
My second concern is a smaller technical issue. Dan showed an example of a DSL specific to WCF services. This seemed well enough for expressing WCF specific ideas (endpoints, URL patterns, etc.) but I wonder if there is or will be a mechanism for using generic code from another CLR language. For example, I may have a business logic or data access component already written in C#, and my WCF service is just a thin layer on top of it to expose it as a service. Enquiring minds want to know.
Business Apps in Silverlight: I heard before the conference that this talk would involve a brief look at some new features in Silverlight 3 so I had to check it out.
The future stuff was billed as ideas taken from the Artist Formerly Known as Alexandria. Overall, I'm sorry to say I was disappointed in what I saw and here's why:
- A demo was shown whereby a server side business operation exposed via WPF was automatically linked to a generated Silverlight class in the client. This was nice, since I have nothing but issues with the automatically generated endpoint configuration for WCF <--> Silverlight.
- Data Source: MSFT is bringing the notion of an ASP.Net Data Source into Silverlight/XAML. All in all, I wasn't sure I liked the magical nature of this, but it's optional.
- Navigation: my ears perked up when the speakers said they were going to bring a notion of Navigation into Silverlight. My problem with what was shown was that it was NOT NavigationWindow and Page, but something new: Frame and so forth. Why not use WPF concepts? I have heard many times that the intention is to bring more parity between Silverlight and WPF. The ability to deep-link to the application using the URL query string is good at least.
- An ASP.Net-ish Login control was shown as well as some declarative security you can place on functionality. It wasn't clear if this would ONLY work with ASP.Net Membership and Role providers on the server, or if the client side mechanism would be extensible via a provider model as well.
Overall, I'd like to see Silverlight going in more of a WPF direction than an ASP.Net direction and I'm worried about what I'm seeing. The vibe I got from this talk was that Silverlight is going to "Work real well with ASP.Net" or "Something you can do instead of Web Pages, if you want". There was no mention of bringing Commanding or other awesome (fundamental) WPF features into Silverlight. I hope that I'm wrong.
F#: I first looked at F# something like two years ago and got frustrated and dropped it. Having done some functional style stuff in C# and LINQ of late, I've been meaning to pick it up. Aaron Erickson gets big points from me for using the term "Hand Waving". His presentation, however, I felt wasn't basic enough for an intro to F#. If the goal was to tell the audience why they might want to look into F# then mission accomplished. If his goal was to show us how to do some basic things, not so much. What do the |> or -> operators mean in F#, things like that. By this time of the day, my 100% lack of sleep the night before was seriously weighing on me, so these things may have actually been explained.
I do plan on getting the book he described as the Most Basic learning F# book he showed, if I can remember what it was called.
After the conference several of us went to Fogo de Chao where I had a tremendous amount of excellent meats with bell peppers and some Malbec.