retracted. I should probably play with Resharper and find out about it's refactoring abilities--but my impression (from the DevExpress guys' demo) was that it can be easily abused to generate tons of code.
...just finished watching the rest of the video...
Productivitity is slippery. To be able to make use of these productivity-enhancing technnolgies and features at the very least requires one to take a non-trivial amount of time to learn how to use them; time which is very close to 100% unproductive. Once
how to use them is known then one has take the time to ask "can I use them?", if the answer is no then it's 100% time lost--if the answer is yes then there is almost always a fair amount of unproductive time spent trying to find out how to leverage these productivity-enhancers
in our unproductive environment--and usually even more time lost working to correct the mistakes that don't immediately rear their heads (fighting .NET quasi-memory leaks because RemoveHandler wasn't ever called? Not calling EndInvoke() on delegates, etc...)
Unfortunately we've had a number of run-ins with "productivity boons" which we can't fit into out current systems. Like Scott's WCF example we run into buggered implementations which prevent us from smoothly using the newer systems--often times these basterds
are the product of green developers trying to get their first system to work, or the product of salty devs who learned how to make something work and just don't care if it's been done correectly. It's difficult to learn how to do things correctly--it's harder
to learn the correct way to do things than it is to actually do them.
To bring it all back around though... having either a good mentor or a good resource can make a huge difference between stumbling around in the dark or heading in the right direction. In my personal experience the best productivity gains don't come from
new technolgies, but learning better implementations of the technoligies I'm already fluent in.
+1 for having more advanced talks on existing/older technologies. Now just to define the scope of "Advanced"
Personally I was disappointed with TechEd this year (my first) *because* I expected there to be lots of talks about advanced WinForms and other related topics. Visual Studio 2010 and .NET 4.0 are great, but the reality is our company is our department is
just now getting the green-light to spend the time to transition to VS2008. We develop a large WinForms app and our data shows that only ~50% of our customers even have .NET 3.0 installed; moving to WPF is the goal but WinForms is the fact right now.
WinForms has lots of catch-22's, and what we do in WinForms that we consider to be advanced is probably more along the lines of medicre hackery to get by--true advanced WinForms topics are beyond what we want to learn on our own because there can be so much
pain in learning about the limitations and boundaries before getting the understanding of the capabilities.
I went to TechEd really hoping to get the nitty gritty details and pointers for VS2008/TFS2008, and really hoped to find some advanced sessions for topics applicable to .NET 2.0 such as databinding, memory management, intensive debugging (post-mortem type
stuff with windbg, performance tuning, etc... instead it was largely a week of "here's what you could do if your customers used Vista (they don't), kept the latest version of .NET installed (a few do), use SharePoint (not in our business).