This rant stems from me getting even more fed up with my current web hosting provider and facing the prospect of migrating my website to a whole new host and getting everything re-set up.
My personal web site is currently built on the Drupal content management system, with which I became very familiar while working as one of the web masters for my university’s Computer Science department. As a result, when thinking about building a site, my immediate inclination is to use Drupal. I’ve used Rails a bit, but I’m not as familiar with Ruby as I am with PHP, and just found that whole process to be tedious.
While Drupal is incredibly flexible when it comes to building almost any sort of website, it’s still like putting perfume on a rotting corpse. The rotting corpse is, of course, the terrible state of web development.
The problem I have with web development is that the required domain knowledge is far too massive. Even when setting up a site with Drupal, consider the things that you’ll probably have to end up knowing at some point:
- some SQL variant (MySQL, SQLite, etc)
- Apache configuration and administration (.htaccess, etc)
- how all of these are supposed to work together in the Drupal environment
In other words, to accomplish one task, I have to use at least six different languages. Admittedly some of these languages aren’t very complex, but it’s still a huge swath of stuff that you have to know. That’s just stupid. And if you want to have a mobile version of your site, you’ve just effectively doubled the amount of client-side stuff you have to maintain.
Again, this can be simplified too. If you’re using a content management system that has an active record-like api, then it’s conceivable you could eliminate the need for knowing a database language.
So assuming we do all of this, we can cut the domain in half, leaving us with a client-side language, a server-side language, and server configuration and administration. This is still a heck of a lot to know, just for a single site.
Cappuccino appears to have a couple of active record-style implementations, but I also think Cappuccino is total overkill if you’re wanting to set up a personal website.
So this is my rant: making a website sucks. It’s a miserable experience if you want it to have any sort of dynamic nature or don’t want it to look like crap.