August 03, 2008
My first love in web programming has always been PHP. I spent many hours learning it from books and the web. I remember the general feeling of awe I got when I first realized that all an authentication system needed was to compare a username and password to a MySQL database, and if you only got one row back, the user was authenticated. I've build websites in PHP for lots of people and tons of purposes. I even started a CMS engine before writing those became vogue. I've been there, done that. I even had a PHP sticker on my car. Yup, got tons of crap for that.
But the grass is always greener. I had an affair with
Rails that lasted a few years. I wrote some dumb
apps in it (the quintessential blog) and spent a lot of time noodling in it.
Still, the only thing I really liked about Rails was Ruby, and I ended up staying there for a while and doing some neat
things with it. I left Rails for a while, but after
my knowledge of Ruby had grown I went back smarter and more equipped. Again,
however, I fell out of love. The overhead wasn't worth it, and deployment is a bitch.
Never content, I've recently dipped my hand in to Django. I don't know Python, but I want to. I've come to terms with the idea of code indention, and I've done that most of programming life anyway. Django runs some big sites, and I want to like it.
The programming style matches what I like, and I've fallen in love with the template engine. I really going from model to database to Eddie interface to application in a matter of hours minutes. Halfway through what will be a really neat application, I'm starting to hear the call of PHP again. I'm tired of "learning" every step along the way, and with PHP there's comfort in familiarity. And for some reason, I seem to really want to trash a few weeks of code to start over in PHP.
But even then, what framework? Why reinvent the wheel when there are systems ready to go? Code Igniter? CakePHP? I've dangled in both, but never really dug either. Again, I want to like Code Igniter, but there's things to learn again and no template engine. CakePHP also doesn't have a template engine, but it's (in my opinion) a little more mature. But maturity doesn't count for anything ultimately, it's all about ease of use to me.
So what do I do? I just don't know. I want the templating and Eddie interface of Django, but the ease and familiarity of a PHP based variant. Just troubling. LIke I said, I believe in Django. I think it's got a future and that it's proven itself in flagship sites. And somewhere in the back of my head, ColdFusion's sirens call me back.
What to do, what to do. If you have a suggestion, leave a comment. But before you do, I'm not in need of Viagra, and I don't have any rich, Nigerian uncles who left me money. Comment spam sucks.