And just like that - by acquiring the people behind e-commerce plugin WooCommerce - Automattic has become one of the major e-commerce platform providers. Great move by Automattic.
WordPress' API and its limitations are so annoying that I just can't imagine developing for this platform unless you desperately need money. Ideally they develop some new product that is more competitive than the current combination of WP & WC.
It's a technical debt trap. You dive in with a one-click install and follow up with a bunch of plugins that seem to fit the bill. Then you spend 2-3x more time creating a custom theme for someone than you would in a sensibly-architected CMS, and only then do you begin to realize that maintenance costs down the road are going to be absolutely crazy. Especially when plugins X and Y start requiring a different theming architecture in production builds, and an immediate update to the latest version is now critical due to a security flaw. Then the plugin you were relying on for sub-task Z is sold to a third party, and while they keep promising to address security and usability issues, somehow you start to receive spam for telecommunications equipment through their support channels.
This actually happened to me. Low-hanging fruit is often a mirage when it comes to the CMS world.
WP is certainly not clean, but it's completely possible to make great sites with it, and it runs a huge number of great sites out there. It sounds like you messed up on a job and are trying to blame someone besides yourself.
You're not the first person to make such a comment. You're also not the first to make such comments without suggesting an alternative CMS that addresses all of your concerns.
>Implying API limitation and annoyance means professional... Yuck.
Yep. One of the signs of a professional over a hobbyist is pragmatism in using his tools.
>Professionals can also use a Haskell web framework
Sure, but not by market demand. And they might also be making their clients a diservice by this choice (e.g. making the project difficult to maintain when he leaves etc).