Indecision
Thursday, November 29th, 2007 at 10:02PM PSTOne thing that comes back to haunt me almost every time I start a new project is my rampant indecision. When working on a new web site, I find myself bouncing around several possible languages and frameworks. One minute I’m settled on getting to know Ruby on Rails, and the next I feel that the best solution would be a more traditional PHP-based site with phpBB as a backend. Shortly, I’ll discover that the phpBB backend feels too constraining and decide I should write the entire thing myself. This naturally leads me to discover that I have to write a lot of basic code like template, database, session, and authentication handling. After deciding that’s ridiculous, I resolve to use Django, only to discover that it doesn’t provide a very full-featured authentication and authorization system, so I find myself back to PHP and phpBB. The cycle continues.
The same problem seems to plague me regardless of what I’m writing. If it’s a regular GUI application, I’ll find myself unable to decide among several languages and frameworks. Should I use Python and wxPython? Or maybe use wxWidgets directly in C++ or even GTK+ using pure C. It’s frustrating, to be sure.
Once I have an established code base, it’s a lot easier to add features or fix bugs as necessary, but sometimes getting that code base started is the most difficult part of the journey. It’s one of my strongest weaknesses, and I hope I can work on improving that in the future. What kind of things have you done to avoid this kind of problem? Pick a language and framework and stick to it, working around its problems as you come to them? Rolling a die and picking one at random? It’s an interesting problem that I haven’t found a solution to just yet.
Maybe I’m just unusually indecisive.