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?
November 21st, 2008 at 22:07
I’d say stretch your boundaries in one dimension at a time. So learn a new framework, but let it be in a language you’re vaguely comfortable with.
Seems you know Perl best, so if you can get Solstice to work on the dept. servers, and you can see how to get your project to work using it, and your new project isn’t sufficiently like the other Solstice work you’ve done, you should use it.
Rails if that doesn’t work. This based on my ignorant opinion that you’re not really supposed to have to know much about Ruby to use Rails (that is, you’d be learning Rails, not Ruby *and* Rails). Since the dept. servers work with it, you won’t have to fight them.
My new job will be using CakePHP. You could wait for a few weeks and ask my opinion then. Otherwise, I know jack-all about PHP frameworks.
November 22nd, 2008 at 17:21
Sup. I’m a nerd that’s reading so I’m obliged to comment. Yeah I’d include some PHP action in your list. Web 2.0! Google Gears!