Wednesday, November 29, 2006

TurboGears Case Study

After consulting with my good friend and trusted programming advisor Evan Cofsky from The Unix Man Consulting, I have decided to learn TurboGears. TurboGears is a framework for producing Web Applications. I'm going to use it to create a Trade Journaling application for my personal trade tracking and to sell as a subscription service. I've been meaning to teach myself Python for some time now because it appears to be such a clean and powerful programming language; a language without all the complaints I have with other programming languages I've worked with (VB, Java, PERL, PHP). TurboGears seems to be a simple starting point for a web application with many of the domain-specific problems of the Web Application Environment (or lack thereof) already solved, which frees up the developer (yours truly) to focus on solving the business problems.

All that sounds well and good, but now for the problems: 1) I've never programmed with Python before. Yes, I know Relational Database and Object Oriented design as well as the next hack, but never in Python. 2) I only learned about the existence of TurboGears at about 9am on Monday (two days ago) when I rudely awoke Evan with my inspired idea of creating my trade journalling application.

So here I am 3 days later. I've gone through the install guide which made installation a total breeze, the 20 Minute Wiki screencast, and the Multiuser Todo List Tutorial. After asking Evan for some advice for choosing the underlying database ORM, I'm planning to use SQLAlchemy instead of the standard SQLObject. I'm now up to lesson 4 in splee's excellent SimpleBlog tutorial which gives plenty of practical use of SQLAlchemy. Tomorrow I plan to start my own application for tracking employee's work time.

My rather ambitious goal: to create a fully functional Time Card/Employee Tracking application in 5 days without having any previous experience with the language nor framework. Wish me luck!

1 comment:

Kevin Dangoor said...

Groovy. And though it's not the standard yet, SQLAlchemy's a great way to go (I use it whenever I can!) thank goodness for splee's series to get folks going down that path. (I'm also a big fan of Genshi.)