5 ms·
Okay. You want a piece of blog software. It has to have SEO plugins, Facebook integration, Twitter integration, fine grain editing controls, and requires approv
by debacle 14y ago
Okay. You want a piece of blog software. It has to have SEO plugins, Facebook integration, Twitter integration, fine grain editing controls, and requires approval for publishing.
Oh, and the client only wants to spend $1500.
What software are you going to use?
Many PHP projects are driven by momentum. PHP is a language to get things done in, and I know plenty of incredible PHP programmers who use PHP because it has unparalleled adoption and a library of off-the-shelf OSS software that can't be rivaled by any other programming language.
I'm pretty okay with people shitting on PHP, but shitting on PHP programmers is a completely different story. We use PHP because it gives us a leg up that no other programming language currently can.
Unless you've only been a programmer for a few years, you'll understand the libraries matter more than the language when it comes to writing software. In that regard, and with regards to the OSS software written in PHP, it probably comes close to or beats CPAN.
- olleicua 14y agoRuby and Python are increasingly invalidating this argument. Python has some of the best diverse library support of any modern non-Java language. And for web stuff (which is basically all PHP does anyway) ruby is basically there. Yes we don't have an out of the box CMS aimed at the WP market yet but that just means someone needs to make it. I've worked with WP a lot and I understand why people do that and I don't disrespect them. I've also spent time staring at its guts and man they are gnarly. However if you're talking about designing new software (which is the situation you are in if you are talking about software design patterns like singleton) then choosing PHP because you are comfortable with it is a cop-out.
- mikeschinkel 14y agoIt's interesting that you mention this: "Yes we don't have an out of the box CMS aimed at the WP market yet but that just means someone needs to make it." I've got 3 "generations" of developer ecosystems under my belt[1][2][3] and from that experience I'd argue that the nature of PHP developers lends itself to creating a commonly-used CMS more than the nature of Ruby developers. I've seen the same thing happen in [1] and [2]. Ruby developers by nature are a lot more experienced and experienced developers like building great architectures and they tend not to be satisfied with "it works, but it's nowhere near perfect." So instead of a few CMSes we get many, and none get enough critical mass. In the PHP world ironically people are more focused on getting something to work even if it's not perfect because they don't even understand perfect. And they are more apt to use somebody else's im-perfect work. I'd argue that's one of the several reasons WordPress has managed to establish itself as the overwhelming marketshare lead for simple web CMS. And that reason is a necessary although by no means sufficient to explain WordPress' dominance. [1] Clipper for DOS [2] Visual Basic for Windows [3] WordPress for the web In summary Ruby is great for custom systems needed for SaaS but I highly doubt a single CMS will emerge to unseat PHP-based WordPress from it's throne. And end users don't give a crap what it's developed in or the superiority of it's technical architecture; all they care about is "Does it work for me." And PHP-based WordPress does.
- jessedhillon 14y agoFirst, no, PHP has arguably the worst OSS library support of all the "major" languages, when you consider the quality of the libraries. Second, this does not really negate anything I said. You can say a lot of good things about PHP -- it's convenient, it's available, it's easy -- you cannot say with any seriousness that it's well-designed. My point is that I can't take seriously a conversation about software design that is couched in PHP. The design of that language and ecosystem is shit -- I mean, do you even have a way to create virtual environments that doesn't require spinning up a new VM? There is no way that PEAR/PECL can be reasonably considered more comprehensive than CPAN or PyPI, I don't even know what your frame of reference would have to be in order for you to think that.
- debacle 14y agoIf someone's talking about PHP and they don't mention composer or packagist (and instead bring up PEAR and PECL), it becomes immediately clear that they don't know what they're talking about.
- jessedhillon 14y agoNice. We've gone from "but other people have already done so much with it" to "you don't know how to use it." Who cares -- my claim was that it's designed poorly. I did, after all, say that I haven't used it in years in a nearby post -- I will gladly admit that I don't know much about the recent developments of a POS ecosystem like PHP. I also told you that none of this is related to my point, but hey, have fun using Blub, I never said you can't be very productive and perhaps even successful with it. You're just not going to change any reasonable minds about whether or not PHP is well-designed, which is why your argument is basically of the form of "but it's already there!" and not "but it's so good!"