Honestly I should make PHP haters a favour by writing an article on "What are the *actual* bad things about PHP, from a PHP core dev" because this is once again just a snooze fest of dumb arguments compared to some of the real, practically impossible to fix, language design decisions that are actually problematic from a pure PL theory PoV.

https://phpc.social/@Girgias/115624016842205301

Gina Peter Banyard (@[email protected])

@[email protected] I really shouldn't engage, but reading "Python make correctness normal" when they chose god awful default behaviour for `match` by just silently falling through if no case is matches is truly the most baffling recent Python decision. The only reasonable thing you say is that PHP's IO functions are trash, which is true and nobody would dispute. The rest of it is ... false equivalences without even showing _why_ Rust (a PL 20 years younger, and with a different focus) or Python is better.

PHP Community on Mastodon
@Girgias basically magic methods and references, right? And also (maybe) array autovivification? References are so totally awful to reason about that most static analysis tools don’t bother (beyond function arguments).