You have to hand it to these people: they sure have to put up with a lot of crap. I’m also guilty as charged for this. I already wrote about a lack of real-world usability and best practices in the past.
You probably heard about the ADO.NET Entity Framework Vote of No Confidence. The moment this went online, I signed it without any hesitation. I still believe that version 1.0 of the EF stinks badly compared to NHibernate. NHibernate allows me to write maintainable applications without sacrificing OO programming, and it will be far more superior for a long time to come. I agree that a first version of anything isn’t feature complete, but it should support at least a couple of basic OO principles.
At first, I didn’t want to blog about this until I read Chad’s post. He mentions this blog post by Kathleen Dollard that made me scratch my head for a while. It’s not the general insulting tone of the entire post that sets me off, but rather the following sentence somewhere in the middle of her post:
EF is not a failure because it has a poor strategy for merging into source control
How on earth can you put something like this on your blog and still call yourself a professional developer? Source control is not negotiable.Period! If a tool doesn’t allow me to use source control, then it’s bye, bye baby! I thought we were past this by now? I guess not, so I will repeat this for the last time: you can’t deliver maintainable software without proper source control in place!.
Regarding the data-driven approach vs the OO approach: those VB6 days are over! Wake up and smell the roses. I never witnessed an OO approach to fail in my eight years as a developer. Maybe I’m lucky. I don’t know. What I do know is that a data-driven approach fails miserably every single time it’s used in a software project of any size larger than an ant. Transaction scripts don’t handle code duplication well, they violate separation of concerns and are a major disabler for loosely coupled (aka maintainable) applications.
Anyhow, back to the title of this post. The EF team has been very open about all this. Daniel Simmons announced the EF Advisory Council and the team responded in a real constructive way to the "Vote of No Confidence" by setting up this blog about the future design of the Entity Framework. These are some of the first positive signs that they are setting themselves up for success.