Why PHP Is Often Called the Worst Mainstream Language
The article examines why PHP is often labeled the worst mainstream language, highlighting its chaotic function naming, inconsistent APIs, lack of async I/O and multithreading, historical design flaws, community attitudes, and recent improvements like PHP 7, while acknowledging its early deployment advantages.
PHP, despite its long history and early dominance in web hosting, is frequently criticized as the most problematic mainstream language. The author, a PHP developer, asks for an objective assessment of PHP’s shortcomings.
Common Problems
Chaotic function naming.
Inconsistent array and string functions that lack object‑oriented interfaces.
Inconsistent parameter ordering, forcing developers to constantly consult documentation.
Complex Zend API, making it hard to build extensions compared with Node.js’s C++ API.
Absence of built‑in asynchronous I/O; projects like Swoole were created to fill this gap.
Poor multithreading support; the pthreads extension is limited and PHP was never designed for true multithreading.
Why These Issues Exist
According to Swoole’s author Han Tianfeng, the root cause is PHP’s heavy historical baggage.
1. Unprofessional Initial Design
Rasmus Lerdorf created PHP as a personal tool, not a language design project. This led to ad‑hoc decisions such as irregular case sensitivity and inconsistent naming, which persist despite later rewrites.
2. Lack of Language Design Expertise in Later Development
Subsequent features were added without deep language design input, resulting in subtle semantic issues. Examples include allowing functions, classes, and constants to share names, and the awkward use const/function syntax for namespaces.
3. Over‑Practical Community Mindset
The community’s focus on practicality often downplays developer experience. Success of early PHP deployments reinforced complacency, and without a strong “benevolent dictator” like Python’s Guido, revolutionary changes are rare.
Recent Improvements
Since PHP 5.4 the core team has made notable progress, and PHP 7 introduced massive performance gains and a JIT engine after a major rewrite of the zval structure. However, many developers still resist acknowledging these advances.
Community and Ecosystem Issues
The ecosystem lacks diversity; for instance, the Hack language (a PHP dialect with static typing) has far less adoption than TypeScript. Even large tech companies such as Facebook influence PHP far less than they do in the JavaScript world.
Conclusion
PHP’s biggest weakness is its entrenched historical baggage, which makes it hard to shed legacy problems. While the core team continues to improve the language, the broader community remains conservative, limiting the pace of change.
Author: He Shijun Original source: http://codebay.cn/post/5692.html
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
