21 November 2008

stupid, you could call it that, stupid, but you have no idea

look, it’s been a while. we move on. i have four drafts that are all hopelessly out of date.

this isn’t even a proper blog post, but it’s a request for comments from anybody still following this thing that happens to be a nerd. i’ve just been assigned a nice, new, relatively compact project at work. it’s a canonical example of a “apply new techniques” problem: a partial (and now broken) reference implementation already exists, i understand the structure, and i think i’ve got enough time to build it correctly while still learning a new trick or two along the way.

i’ve spent the last forever (forever!) building a mega-webapp that has turned out to be really badly designed in places. i didn’t really know what i was doing – i’d never built any substantial kind of web application. i learned a ton. i’m anticipating that my next job is going to have me building bigger, smarter, better-designed applications. possibly on the web. so i’d like to be less sucky next time.

with that in mind, i’m definitely not going to squander this opportunity by building another crappy hodgepodge of asp pages in vbscript, not least of which because i want this new application to live over on our departmental account. so i turn to you, internet. i’m thinking of using a web framework, but should i? which one to use?

here’s what i’ve evaluated-slash-heard of:

  • catalyst: it’s perl, which is one of my “go-to” languages. i’m not quite as perl-savvy as i once was, and a significant amount of my old perl suffers from abuse of regular expressions. i was young, crazy, dumber and didn’t think that perhaps i should use a proper parser for things like xml. the downside of this seems to be that installing it relies on lots of cpan which my twitter followers will know doesn’t particularly love me.
  • solstice, designed by the catalyst group at the uw. yeah, sucky namespace collision there. also in perl, possibly impossible to get running on the departmental server, and heavily customized for the specific applications written by the development team. on the other hand, i have weekly beer with the development team, and i’ve actually built a very simple application in it once.
  • rails. the “build a blog in 15 minutes” video from like four years ago is still hot. bonus points that i converted jack danger to a full-time ruby developvangelist before i’d even touched it myself. in fact, my total code written in ruby to date: two little command line scripts. it somehow seems appropriate that i be roughly five years behind the curve. bonus: it’s already installed on the departmental servers.
  • django, “for perfectionists with deadlines”. that seems like me, except i’m not really a perfectionist. python is still a little hard for me to wrap my head around but i think i’ve got some of it – i’ve been building some little things over on appengine, including a new homepage for my windows mobile phone.

so, what am i missing? should i not even bother with a framework and just devote myself to the ascetic practice of writing everything from scratch? what about the php frameworks that are out there?