Wednesday, January 07, 2009

the notion

Learning in a vacuum is always tough. Say you want to learn some new technology - in my case, the ASP.NET MVC framework. I could go through and just read and watch and probably learn a thing or two. I could build something made up, like a music collection, but the problem with those kind of learning vehicles is that because they're made up, you feel no particular desire to follow through with them to the bitter end. At any point, usually when things get too hard, you can:
  • Make it easier by not implementing feature "X" at all

  • Dumb down feature "X" to make it easier

  • Declare victory and move on
You can do these things because, after all, it's not a real project. It's not for a customer - even myself. Even when it's done, I don't plan on using it.

So the real trick is to build something practical, something you might even use.  Or in my case, rebuild something you use.

We have a system here at work I built using Rails to keep track of projects, requirements, etc.  The problem is that I work for the government and they're not always fans of open source, or all too often, anything new.  So my app sits on our dev environment (which is where it ought to be anyway), but I keep hearing how we're going to need a version of it that will sit on the government network.  And because the .NET framework (which is what we use here 99% of the time) already has a pass from the powers that be, perhaps a should just write a version for .NET?

Historically my answer has been, "I don't feel like it." I can get away with this answer because nobody has pushed on it and the Rails app works just fine on dev.  But it occurred to me the other day that the Rails app would be a perfect candidate for learning the ASP.NET MVC framework.

Practical?  Check.
Defined requirements?  Check.

Plus it is (or should be) a largely 1-1 translation.  Lots of lessons learned from building it the first time plus an interesting comparison on how the two frameworks stack (if you'll pardon the pun) up against one another.

So we'll see what happens.

No comments: