« In Defense Of Self-Publishing | Making your development process suck less » |
If you ask the average PHP developer what they think about WordPress, you may be disappointed with their answer. Their answer may make you think that WordPress is the bastard child of PHP, totally unloved and unwelcome in the PHP community. They’ll cite code quality, community, even personalities in their argument. I’ve even heard stories of a WordPress developer asking a prominent member of the PHP community about using their tool to improve WordPress. The response? “WordPress needs a rewrite.”
And I should know; I’ve been quite vocal in my frustration with the fact that WordPress still tells people it’s okay to use old versions of PHP. And yet, despite WordPress’ shortcomings, it has definite advantages that the PHP community needs to recognize and embrace.
Every person who has a job as a developer has that job for one reason: to solve business problems. And WordPress solves business problems in spades.
How much so? WordPress powers 23% of the web by itself. Think about that for a minute. Almost a quarter of websites on the internet are powered by WordPress. Top news sites like The Washington Post and Bloomberg Politics (released today) receive their strength from WordPress. These aren’t small sites that only a few people read; they’re major, multi-national news organizations that have unique needs, challenges of scale, and the need to get information out fast and efficiently.
When we as a PHP community eschew WordPress, we’re really hurting ourselves. Sure, it’s easy to criticize code quality, but it’s hard to remember that WordPress was released before PHP had any true code standards at all. It’s the quintessential legacy application, warts and all. Every PHP developer has written or worked on an app just like it.
I’ve made comments before about WordPress, and I was wrong for doing so. I am sorry. As a community, we are wrong for not embracing the WordPress community and recognizing that they are an integral part of the PHP world. WordPress doesn’t have to be perfect to be part of PHP. We don’t have to love everything about them to embrace them. But we do have to embrace them, because they are important, and they are a part of our community.
Hat tip to Jenny Wong, whose great slide deck on Integrating Communities helped change my view. Check it out here.
Brandon Savage is the author of Mastering Object Oriented PHP and Practical Design Patterns in PHP
Posted on 10/6/2014 at 9:49 am
mrlami wrote at 10/6/2014 9:58 am:
very true!
GromNaN wrote at 10/6/2014 10:16 am:
WordPress is good for what it does ; but the PHP community must warn newcomers and WP aficionados that there are much better ways to construct a codebase.
Michael Romer wrote at 10/6/2014 10:30 am:
So true. I never met a developer (me included) not saying that his/her application needs a rewrite at all costs. A major disease of the software engineering world.
Phil wrote at 10/6/2014 11:04 am:
I am curious – what would the PHP world recommend as a better alternative to WordPress – if someone were just getting started and deciding which road to go down?
Coen Jacobs (@CoenJacobs) wrote at 10/6/2014 3:20 pm:
@Phil, I don’t think it’s bad to recommend someone to get started with WordPress, if he or she is about to jump in the PHP world. Yes, there are some things one needs to learn about what’s good and what’s bad about WordPress, but it’s a nice way to get into a platform that’s mainly PHP and has a fairly low learning curve.
I do always recommend people to learn PHP and nothing but PHP when they are first starting out coding. There is nothing as tempting as diving straight in a framework or platform (like, say, WordPress), but it’s definitely a better basis to get started with ‘just’ plain PHP, in my opinion.
Keith Casey (@CaseySoftware) wrote at 10/6/2014 6:00 pm:
There have been numerous attempts to “build something better than WordPress” which has generally meant cutting edge PHP, object oriented, tested, etc.
Turns out that is *HARD*. Not just challenging, not just hard, but *HARD*.
Building a piece of software that solves users’ problems requires paying attention to *users* and their problems as opposed to developers and their problems. Turns out – in most cases – those are different and disconnected groups with fundamentally different needs. Stability, performance, maintainability, and a variety of other things mean different things to the different people.
Use WordPress for your sites.. I do.
But realize that although it’s not cutting edge PHP, it solves *millions* of users problems every day.. and figure out which is more important to you.
Er Galvão Abbott (@galvao) wrote at 10/9/2014 6:52 pm:
Great – and much needed – post, Brandon. PHP needs to recognize the popularity and strengths of it’s most popular “childs”.
I particularly love the phrase “When we as a PHP community eschew WordPress, we’re really hurting ourselves.” I think most PHP developers don’t realize that.
Fabian wrote at 10/13/2014 5:12 am:
Thats true, WordPress solves problems. That is the nature of software.
But where is the connection between code quality and prevalence of WordPress? Shouldn’t a huge prevalence force higher code quality? It seems they don’t care, and thats the point and the real problem: the situation wasn’t improved over the years and I couldn’t find any documentation about how it could be improved. I mean they still working with Subversion in 2014!?!
WordPress is good software for a the user (in solving business problems) and bad software for the software engineer (code quality and design).
John McBade (@jmcbade) wrote at 10/15/2014 6:35 pm:
WordPress…
I would say two things about this article… no three… no…. :)
First of all, I agree. Turning up your nose at other people’s work, rather than see what positives one might learn from it is, I’ll put it strongly, pure hubris. I’m a musician also, and I would make this comparison. Say you are a person who “plays by ear” mostly. To say to that person, “you’re not a real musician unless you know everything about the music theory for what you play”. That’s rubbish.
WordPress has said to the PHP community, if nothing else, other projects in this space have possibly made the learning curve and complexity too high. I think the PHP community should always be looking at the core concept; “what does PHP and coding patterns make too hard that doesn’t need to be that hard?” What can we do to make learning good quality PHP easier? If we do, more people will get into the community. It just makes sense.
Why do we feel the need sometimes to take a nuke to a knife fight? Why do we have to learn everything about the latest framework to build a blog or CMS for some small “first project”?
Here is how to play a “C” chord. Ok… You got that, oh, and you got a few more chords now, great. Let me show you a little nugget about how music works and we can transpose that set of chords into a new key.
I hardily thank the whole PHP community for what each member does to help the newbie and make projects more accessible for everyone. Let’s all think about that the next time we need volunteers for the next coding “camp”.
Jrf (@jrf_nl) wrote at 10/29/2014 10:54 am:
Hi Brandon,
Thank you for this blog post. I’ve been saying the same for the past few years and I’m glad to see more people coming round to this point of view.
And yes, of course WP needs a rewrite, so for all those who keep saying that: put your money/time where your mouth is and contribute!
Smile,
Juliette
Robert Broley wrote at 11/12/2014 9:16 am:
WordPress is great but I still find some of the code bloated. But its a great CMS but there are other options for developers who dont like WordPress.
« In Defense Of Self-Publishing | Making your development process suck less » |