CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeremy D. Miller -- The Shade Tree Developer

Under the hood and working with .Net, TDD, Software Design, and Agile Stuff

A Train of Thought -- MVP Summit 2008 Edition

Just jotting down my notes from the MVP Summit (so I can get on with ALT.NET commentary).  I haven't seen anything revolutionary, but the conversations are always the best thing anyway. 

I'll sum up the entire summit in one word:  positive.  I thought that the interaction I saw with Microsoft was simply positive across the board.  Not perfect mind you, but I'm content.

Here's what I saw (no names and some specifics omitted for NDA compliance):

  • I'm still not thrilled with the Entity Framework and the direction they locked themselves into, but the EF team came prepared to talk about some compromises that might start pushing EF into the usable category for me.  I honestly wouldn't care about the EF, but I'll probably be back in consulting at some point in the next 5 years at a shop that will only use Microsoft tooling.
  • Daniel Simmons gets the "Thickest Skin of the Year" award.  Not the Hyperion/Endymion Dan Simmons though.
  • I enjoyed the IronRuby and IronPython talks
  • The Parallels extensions to .Net are intriguing, but I wish they'd shown more code and fewer slides
  • A version of the Open Spaces format was used for some of the MVP Summit.  It wasn't the real deal, but I'd say that it was an improvement.  I really appreciate the more interactive formats as opposed to passive watching the slides go by talks.
  • Getting asked for some real feedback.  Ayende & I got to see behind the curtains on some internal work in the .Net framework that I was pretty happy about.
  • I did hear about one thing in the works that has the potential for some community backlash, but they seemed to be interested in reaching out to defuse that backlash.
  • The language teams are very serious about ramping up the coding centric features in the Visual Studio IDE.  I know a lot of .Net developers think that Visual Studio is the greatest thing since sliced bread, but it's coding features badly lag Eclipse or IntelliJ from the Java world.  It's nice to see Microsoft starting to work on that gap.  I don't know if they'll do anything that isn't already in ReSharper, but I'm looking forward to seeing where they'll go.
  • Listening to no less than Brad Abrams say that they're taking testability into consideration on all .Net framework design now.  Cool.

 

 

What I want for Christmas from Redmond

  • IronRuby!  Even without Rails, I'd love to use RSpec for testing .Net code and writing specs.  DSL construction on the CLR, here we come!
  • I don't know if it'll ever catch on, but F# looks seriously cool
  • Transparent lazy loading in the Entity Framework.  If they want the Entity Framework to be usable in constructing rich Domain Models, they're going to have to do this. 
  • A hook in the Basic Class Library to make the choice of IoC container pluggable.  I think it makes a lot of sense for the .Net framework to have some sort of IoC container capability built into the framework, and you know they're going to do it at some point.  Acropolis needs it.  Prism needs it.  MVC needs it.  Heck, even plain jane WPF could use it.  Just please make it pluggable when you do that at some point in time.


Comments

Nate Kohari said:

+1 for the integration of IoC fundamentals into the BCL. They gave Service Locator love, but no dependency injection. Just a hook into object activation so we could manipulate objects created with new would be great. Oh, and runtime-supported dynamic proxy support that doesn't use the remoting infrastructure!

# April 23, 2008 9:10 AM

Jeremy D. Miller said:

@Nate,

As long as we can plug in NInject or StructureMap, I'll call that a success.  They're apparently planning some dynamic invocation support in .Net 4.0 for C#.  I heard the magic words "Missing Method" kicked around.

The object activation hook would be nice, but IronRuby solves that problem for me.

# April 23, 2008 9:15 AM

FransBouma said:

@Nate: so a class loader facility ala Java? That is indeed something that's needed.

@Jeremy: Isn't lazy loading always 'transparent' ? (i.e.: it's loaded on the fly for you, without you doing anything else than accessing a property/navigating an association?)

# April 23, 2008 9:41 AM

Jeremy D. Miller said:

@Frans,

The EF solution is:

Invoice myInvoice = get from EF here;

myInvoice.Details.Load();

foreach (InvoiceDetail detail in myInvoice.Details)

{

   // do stuff

}

I'm objecting to the explicit call to myInvoice.Details.Load().

In EF, the consumer of Invoice, and Invoice itself, would have to be aware that the Details child collection is lazy loaded and know to call Load() before iterating over the collection.

# April 23, 2008 9:59 AM

Jeremy D. Miller said:

@Nate,

You could hack up the compiler like Greg Young does to get the object initializer ;-)

# April 23, 2008 10:00 AM

Ryan Lanciaux said:

F# is seriously amazing -- I really hope it does catch on a bit more. I love how it's got a little bit of a dynamic feel to it but it's still statically compiled. Being built in to the next version of Visual Studio can't hurt it's popularity.

# April 23, 2008 11:42 AM

hyperion said:

Pingback from  hyperion

# April 23, 2008 12:16 PM

Charlie Calvert's Community Blog said:

Welcome to the forty-third issue of Community Convergence. The last few weeks have been consumed by the

# April 23, 2008 4:58 PM

FransBouma said:

Jeremy: ah! That indeed figures.

It's a double edged sword though. There are a lot of teams who don't want certain groups to do implicit data loading (e.g. GUI developers) and always should call repositories, or bl classes. transparent lazy loading is then something you definitely don't want.

# April 24, 2008 4:05 AM

Sam Gentile said:

I am having a blast on my latest gig which has me using many different technologies at the same time

# April 25, 2008 9:11 AM

acropolis said:

Pingback from  acropolis

# May 12, 2008 8:07 AM

Diego said:

Hopefully, you will find the experimental project on transparent lazing loading for EF interesting.

# May 13, 2008 8:02 AM

Diego's Blog : Lazy loading in Entity Framework said:

Pingback from  Diego's Blog : Lazy loading in Entity Framework

# May 13, 2008 8:08 AM

centric tooling said:

Pingback from  centric tooling

# July 15, 2008 3:58 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Jeremy D. Miller

Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#. Check out Devlicio.us!

This Blog

Syndication

News

All opinions expressed here constitute my (Jeremy D. Miller's) personal opinion, and do not necessarily represent the opinion of any other organization or person, including (but not limited to) my fellow employees, my employer, its clients or their agents.

About Me

"Best Of" Compendium

StructureMap (Dependency Injection for .Net)

StoryTeller (Supercharged Fit)

Build your own Cab

TestDriven

MVP