3 ms·
These are the symptoms but the cause is deeper. The WordPress codebase is a disaster, and the problem is self-compounding. The founders / core have found succe
by lucideer 4y ago
These are the symptoms but the cause is deeper.
The WordPress codebase is a disaster, and the problem is self-compounding. The founders / core have found success writing disastrous code, and as such have no impetus to be aware of the benefits of higher quality - this is largely because (as you point out) the model of development shifts the burden to small individual website makers deploying (& maintaining / firefighting) WordPress.
Since it's open-source, a disastrous codebase could be "fixed" over time if experienced engineers were willing to join and contribute to the project over time, but the culture of QA-ignorance among existing core contributors has a tendency to exasperate experienced engineers.
I'm not saying it's a "toxic" culture per se - it's very open, and especially welcoming of new / inexperienced / beginner contributors, which is certainly cool for learning. But once contributors gain a little knowledge they go one of either two ways: knowledge-stagnation (enough to contribute but not to improve), or exasperation (enough to know how to improve but lacking motivation to make that uphill battle).
The culture from core extends to the plugins, not only because there's overlap in devs, but also because the APIs the plugin community have to use are garbage. This means many of the popular plugins - while they may have high-quality UX and design - have very poor code behind that.
All the above means that WordPress needs constant small fixes contributed by an army of devs to prevent it falling over / getting hacked, which massively increases the update frequency: there's nothing preventative within it's architecture, it's all reactive patches. It also means it'll only be a viable platform as long as its extremely popular: once popularity decreases a little, the maintenance burden will be far too high for the smaller community to sustain, and existing installs are going to be even more vulnerable than ever.
- hattmall 4y agoWordPress backend code is insane, but it is one of the few systems in widespread usage where you can reliably reverse engineer your way to solving bugs or making changes with minimal knowledge and effort. There are so many JavaScript first systems in use today that are practically impossible to debug / modify without complete intimate knowledge of the codebase.
- lucideer 4y agoYes and no. There's two ends to the spectrum: over-enginerring and spagetti. Basically overplanned layers of abstraction agreed by distributed committee vs unplanned mess. A bunch of modern frameworks have gone far too far over the abstraction cliff, but as bad as it gets for people wanting to contribute to those core libraries, the APIs provided for extension and integration are mostly sane, as is error logging. Most importantly of all, they tend to be reasonably stable and secure at their core: updates are less mandatory and LTS cycles are longer for past library versions. So while your complaints are valid, I think the pros and cons weigh heavily against WordPress. Yes, when something broke I could always dive into my WP install with a quick fix, but I never had any way of being sure it worked everywhere (automated testing is nightmarish), never knew how long my fix would last; whether it would be an editor contribution or a plug-in update that would break it, etc. etc. Side effects in WordPress are absolutely out of control.