Tuesday, March 18, 2008

Do Good Practices Take The Fun Out Of Learning?

As I progress in my endeavor to learn Python I am faced with several challenges, foremost among them being a lack of time to devote to the task, shoot I've been walking through a Django tutorial for over a week now and I'm only halfway through! Another roadblock I am faced with is the fact that I am working with C# all day in an enterprise environment, so I can hardly sit down to write a simple Python script without the intense urge to first setup a multi tiered project for it and check it into source control. Once I do get my multi tiered project created, unit tests written (or at least started), and everything checked in, I usually "take a break" for a day or two before I sit down to the script again.

If I were a newbie to programming in general I think that Python would be much easier (and possibly more fun) to learn, because I wouldn't have the overhead of trying to do things "right", instead I would be focusing on just trying to get whatever script I have decided to write working the way I want it to. But knowledge once obtained cannot be unlearned, and as I have become more and more familiar with good design practices and patterns, I have seen many of the advantages to implementing them and for all of it's slowness, I think it's best to force myself to port my existing knowledge of good programming practices to any new languages that I learn.

I must say that in spite of the delays, I am still enjoying learning a new language and joining the culture behind it, in fact I am starting to feel like some sort of trend setter among some of my peers, mostly .NET die hards, who don't seem to be as open as I am to broadening their programming horizons. Hopefully I can convince them that this isn't just a fad for me, but that I'm in fact committed to becoming truly adapt and closely familiar with Python.

No comments: