After trying linq to sql, the ado.net entity framework, php's code igniter framework, php's cake framework; I'm realizing how much of rails really depends on the inner workings of ruby itself to do what it is able to do. I've looked and poked around Castle's Active Record and it does some heavy lifting, but it still seems to deviate too much from rails's version of active record. One of the key things of porting a concept, is to keep it as close as possible so that developers can rely more on the same convention without having to relearn the concept in a different domain specific language. Plus, I cringe a little when it leans too much on using NHibernate.
It goes back to the whole "Don't make me think principle", that developers often to have to keep in mind when developing for an end user. At first, I was thinking about creating a port would be simpler using linq with either "linq to sql" or the currently released "ado.net entity framework". After investigating, it would take a ton of invested time to either write a code generator for visual studio that would changed the way the pocos (plain old c# objects) are generated in order in corporate the changes. Also not to mention that these frameworks heavily rely on a repository pattern, that would probably cause too much pain to change for just one developer.
Square one? Well close enough. C# and ruby have different strengths and weaknesses. However with enough thought and using C#3.0, I think its completely possible to get something that closely resembles rails enough to give anyone who has worked with rails, something that would be familiar if they needed to work on a project in .Net.
Labels: Active Record, BHAG, C#, CSharp, Linq To Sql, Rails
0 Comments:
Post a Comment
Links to this post:
Create a Link
<< Home