I've been using PHP more and more for not only web stuff, but also for general command line scripts as well. There's tons of functionality in all the libraries that are just super useful, and once I've used them a few times on the server, it's just easier to continue using them in scripts. The language itself, however, is pretty fugly. I mean, it's Turing complete and all that, but really could be cleaner in a lot of ways. It's not a unique thing - a lot of languages that were created for one job, and slowly expanded to encompass more functionality, like classes, etc. - eventually become sort of a mess. In PHP's case, wonky scoping rules (to me at least), tacked on language features, and generally verbose syntax makes it sort of a pain to grow projects beyond a certain point. Since most of PHP isn't actually implemented *in* PHP, like say, Java projects are, but are instead implemented in C libraries that you call out to (libxml, tidy, curl, are just a few examples of this) having the scripting part of the language be the fugly part is sort of dumb, no?
I think we're moving in that direction, already, no? I just want it to move faster!