Wow, a lot going on, on the MSFT front lately.
- LINQ to SQL is dead <-- well, they didn't word it in those exact words, but whatever! That's what it basically means. Frankly, a good decision IMO, because L2E is way more potent and powerful, so why have 2 mechanisms for doing the same thing - lets get rid of the retarded cousin. Good!
- Silverlight 2 went RTM - seriously, now this platform is finally usable. Silverlight 1 was a bit bleh .. but 2 has controls, wcf support, data binding .. a lot of stuff that makes it a real platform. And Silverlight 3 will raise the bar even higher. I'm quite excited about what Silverlight can do.
- Oslo - Okay, seriously, this is like way out there, I'm putting this on the "watch" list for now.
- Windows Azure - Keynote aside, from my point of view, this is the poster child of .. lets tickle the CIO G-spot. No seriously .. how can you get excited about something, without evaluating it's value? And how can you evaluate value without price, and a bit more detail of what's in the block diagrams? I am reserving judgement on this until I get to dig into it's entrails, and truly understand what it means to develop and support for Azure, considering both code time, cost, and maintenance.
- Windows 7 - .. what Vista shudda been! I am very very excited about Windows 7. Finally, we won't be the butt of all those Mac jokes. I guess we still might be, but who cares! Slider to adjust nagging level? Wish our girlfriends came with such a slider.
- .NET 4.0 and the dynamic keyword .. okay .. this is my experience talking but .. I said it before that LINQ isn't the huge big deal that MSFT was making it out to be. People were going nuts over it, and I said .. well .. it only affects maybe 10% of your app. .. I think I was right, do you disagree? A lot of core problems remain unsolved despite linq .. not saying linq is bad .. it just isn't the panacea it was marketed as.
- So, the dynamic keyword, Anders talked of Statically typed vs Dynamically Typed. Look at it this way, do you want it fast, or do you want it to last? Statically type is "last", Dynamic is "fast". An extreme of either approach is not the right answer, so don't overuse dynamic in face of short-term productivity. There is still some value in languages such as C++. If VB6 (ultrafast, but not to last), was the right answer to every app, we would have never had .NET.
So my overall comment on this is - I'm happy to see this addition to .NET 4.0, but I am fearful that shrinking budgets will cause people to write bad code using this. I hope I'm wrong, I don't expect to be wrong :).
- Office 14 - Well this'd be a whole another category, now wouldn't it?
All in all, the above make me happier than Santa Claus on Prozac in Disneyland eating chocolate. Nice going MSFT! :) w00t!