Stupid @#$%ing Dreamweaver
This isn't likely to be particularly inspired; I'm just ranting here.
I'm getting sick of PHP.
I like PHP - correction, I used to like PHP. I started using it in 2000, when I worked for the Dispatch. It all started with a fairly basic request, "The date, on the top of the home page. Can we make that change, ya know, every day?"
Being human beings, we semi-regularly forgot to change the date when we posted new content each day. So, we wanted to do it automatically. It seemed like the kind of thing that could, even should, be done automatically. And so it begins...
But I'm fed up.
I spent today cursing at Dreamweaver, and I don't even normally use Dreamweaver. I'm using it on one project because a client requested/suggested it. So, I'm cursing at Dreamweaver, because virtually every time I edit this page (any page, it took me three attempts before I figured out what was really going on), it stupidly puts a virtual include at the top of the file, even though there's already one there, just a few lines down. So, then, when I go to see the changes, I get an error. Because something in the way Dreamweaver handles Sessions (or MySQL, or both) causes Apache on my machine to crash, I'm only able to view changes on the server. When PHP errors out on the server, I don't see the errors, so I have virtually no idea what's going on.
But, really, this isn't Dreamweaver's fault, per se. It's PHP's, mostly. PHP is kinda stupid.
Smart Pages vs. Real Programmers
PHP is really, really good at what I call "Smart Pages". As far as I'm aware, there are two kinds of people who call themselves "Web developers": Those who view their work as "Smart Pages" (though they probably call it something else), and those who view their work as "Programs".
"Smart Pages" are really best exemplified by the "make the date change automagically" idea above. They are simple, flat pages, that have a few bits of text that, through some magic process, somehow manage to change to suit new circumstances. I started out Web work in this way, and I still see the world through this lens, most of the time.
"Programs" are these things where people type in lots and lots of squirrely-looking code and, possibly after doing something arcane with a compiler, end up with something that magically spits out Web pages. I'm impressed by "Real Programmers", I have a near-constant sense of guilt and shame that I can't really manage pointers in my head, or that I don't know a long enough list of obscure language tricks. I've written some bad code, and I occasionally worry that some of it will end up displayed in public, like some sort of post-modern flogging.
I would say that my dad is a Real Programmer. In fact, I'd say 95% of the programs he's written in his career have been in some obscure dialect of assembler. He doesn't grok "garbage collection" or "polymorphism" so well, but he knows his way around registers.
People who are Real Programmers seem to be frustrated by the Web. They seem to go to elaborate lengths to re-create an environment that's more familiar to them, with none of the annoying quirks of Web developement. I, for one, like the quirks of Web development. Most of them, anyway, but that's another topic.
I'd say that I'm a remotely half-decent programmer, most days. But I think I'm a particularly good Web developer, because I think they're slightly different, though overlapping, skill sets. But what do I know?
Anyway, like any remotely half-way decent programmer, I've been building a toolbox. It's this collection of code I've written to handle fairly common tasks in PHP. Dreamweaver hates all of it, of course, which is a major part of the problem I was having today.
The problem, I'm now thinking, is that toolboxes are still page-centric. I mean, I can have a "form-builder function" and a "table-builder function", but any time I want a particular page to have those tools, even if for just one element, I need to build them in. If the tools change, or if the file locations change, I have to update all the links.
Which produces things like Dreamweaver.
"Oh, don't worry about managing all those links. Don't worry about updating database models, Dreamweaver will take care of you! Dreamweaver to the rescue!"
Except that it doesn't work.
Frameworks vs. Toolboxes
I started working with Rails (aka Ruby on Rails) a few months ago. While I saw the potential early on, I was bashing my head on concepts that made my head hurt. The idea of an all-encompassing framework was Annoying."Why can't I just do what I've always done?"
But I'm seeing the light today. Full scale, big picture.
Unfortunately, I've had some frustrations with trying to promote RoR professionally. Some hosts have balked at it, some of my colleagues don't know what it is, and (understandably) don't want to learn another language.
That's it. I said I didn't think there was a Bigger Picture here. Frustrating day; frustrated at all my tools; wanting new tools; and realizing that my brain has outgrown the tools I know and needs to get a new set of tools that fit better. End of story... ?