Hacker News new | past | comments | ask | show | jobs | submit login

Like I said, it's easy to hack anything to do exactly what you want. The hard part is making your hack work with other hacks. How many Wordpress plugins can you install before things randomly break? How do you detect breakage, anyway? (Do all plugins have test suites? Can you compose these test suites to ensure that two plugins don't break each other?) How are variable and class namespace conflicts handled? How are conflicting database schema changes handled? Is there a way to request similar information from the database in two places without doing two queries? Is there a cache that can consistently share pieces of data between two plugins?

I could go on and on, and the answer to most of these things is no. Most of the time, it doesn't matter because the plugin is "too simple" to break things. But simplicity has its limits -- there are a lot of features that Wordpress is missing that I trivially implemented in my Angerwhale prototype (cleanly).

As to the number of extensions, it's simple. Wordpress is the only blogging solution out there, and there are millions of PHP programmers. (OK, there is MT also. But MT killed itself with weird licensing, and lost all of its mindshare. Oops.)

Those two factors combine to create a huge ecosystem. But it doesn't say much about the design of Wordpress, other than "it works well enough for people with simple needs, and rewriting a whole blogging engine would take a little more time than hacking Wordpress for this one site."

Anyway, sometimes good enough is good enough. Sometimes it isn't.




I still don't think you know what you are talking about.

We modified the shit out of wordpress to use it as a makeshit CMS to power a large portion of the marketing generated content on our site. We even added workflow to it.

It wasn't that hard. The codebase for wordpress isn't that messy. It's not ideal, but what OSS project is?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: