I keep coming back to a sentence in Andy Hunt and Dave Thomas The Pragmatic Programmer and that's "Learn a new language every year". Earlier this year I started to look at F# but it's hard to keep up a good momentum when the current project just spins at full speed (or above...).
The question is here whether Oslo "M" counts as a new language or is something completely different - because the story on Oslo is that I have to learn that in a near future.
Anyway, I decided to to indulge my self and pick one or two sessions just to pick up the trend outside the ordinary imperative C#/VB way of programming (and not related to Oslo).
So going to Luca Bologneses Introduction to F# was obvious for me, first of all to catch up with stuff that have been changed since I looked at it and partly to get an indication if I understood the language at that time (and if I still do). I could not spot any differences, but there have been new releases of CTP's so there must be something - not obvious to me. He did a great job of explaining the language and the paradigm of functional programming, at least in F# - I have nothing to compare to. It actually feels like I got it the first time, but there's always the small details that I missed and hade the opportunity to pick up this time. And he explained how the area of parallel programming is done in F#, a topic that I completely ignored earlier but as it have bee quite a buzz around it this PDC I was curious how it was done in F#. So the bottom line on this session is that if you're in anyway about to start doing F# or just curious about it - see this session!
The second session on my personal indulgence theme was John Lam's IronRuby - The Right Language for the Right Job. Ruby has been on my to-lear-list for quite a time now and I figured that John Lam was the guy to see, at least in the MS arean of Ruby. I must admit that I didn't got it all the way when sitting in this session, but to my defense I would claim that it was the last session on the first day and I was heavily jet-lagged. It was interesting, thou, and the feeling is that I'm going to look at this - eventually. I guess that I'll look at this session a couple of times and buy a book on the topic and finally put my hand on the keyboard, but with all the other new stuff here at PDC I don't think I'll have the time with Ruby in the coming 6 month.
The last reflection on this outside the box thing is a recommendation I've got from a other attendees here and that is the session on Declarative Programming Using XAML. I don't know if this qualifies as "outside the box", but it's not C# nor VB... At that time I was out of indulgence point and have to be on a real job related session. But this is one of the sessions that I'm going to see on the flight home.
Finally I'll say that I strongly agree on the theses of learning a new language every year, you don't have to master it or even just be good at it. It's just enough to look at it, pick up the idioms, the way of thinking, the way to see the world and the way to solve problems. That'll make you a better programmer in you "first language" because it'll make you a better programmer period.