I am tired. It's almost 12am (and by the time I finish this post, I am pretty sure it will be over 12am). I had a long day at Tech.Ed today and I went straight to the regular Friday night Bible Study afterwards. However as I have blogged about my last two days of Tech.Ed 2008 encounter (Day 1 and Day 2), I think I might as well blog about what I have done on the last day.
Software Life Cycle for Business Apps
Sessions today turn out to be actually pretty good (see how brainwashed I am). My day started 10 minutes late again, and the first session I went to, "Managing the Development of Complex Line of Business Application", was pretty helpful. Only Microsoft product mentioned was Microsoft Team Foundation Server which does not really apply to us as our Subversion, Wiki, Trac, and Mantis stack has pretty much covered everything. Interesting advice on managing projects in an iterative/agile environment and the emphasis on how important tests are (although we have already been doing them for years).
F# -- for the Love of Programming
Two DEV talks were the highlights today for me. In the morning I went to "F#: For the Love of Programming" presented by Joel Pobar. The session pretty much covers the basics of F# (basic syntax, pattern matching, etc) and touched a little bit on why you want to learn functional programming. The emphasis has been on concurrency and multi-core programming -- although I didn't think the "why it's better than imperative programming" has been explained properly. Well, the title was "For the Love of Programming" so I at least expected some imperative/OO bashing but I got none :) As an amateur OCaml programmer it is also nice to see the syntactic sugar Microsoft has given to F# (death to ever so confusing trailing semicolumns). With the access to all existing .NET libraries (battery included!) I think F# is really going to open up developers on the MS platform to a new world. TODO :: "F#"
Parallel Extensions for .NET
Second DEV talk I went to today was on Parallel Extensions for .NET, presented by Joe Duffy, who is another functional language geek. Parallel Extensions on the other hand is a reusable library for .NET that can be used by all .NET languages. I don't think the extension brings in any new concept in concurrent programming, but rather it's a library that your average C# developer can use to make use the multiple cores. But if you have shared state -- the problem persists and I didn't see alternatives like STM or Actor model getting mentioned. But indeed massive parallel computing will be the norm in the future, and how to get the average developers to start coding for that platform is not going to be an easy puzzle to solve.
High Availability with Hyper-V
Last talk I went to was on Hyper-V and HA. Nothing interesting except you can now click click click and do a quick migration of your VM between hosts.
The last thing in the programme was the locknote, presented by Miha Kralj, a senior Architect at Microsoft, on the IT for the next 10 years. Very entertaining and quite a thought provoking talk (much better than the keynote may I say). So how's Microsoft's version of the future of IT? Cloud computing. Utility computing. Service oriented architecture. And it will be very different. Time to do some heath check on your current sacred cash cow, because it won't be there in 10 years. Not sure what has Microsoft and Google have planned for theirs (Office and AdWords/AdSense).
So that's it. I survived! I don't think I have learn much that is really technical, but I think I do learn quite a bit about Microsoft's stack of development platform. Actually I think I have a new understanding about "Microsoft" itself. I'll blog about that tomorrow.