A generic tragedy
Written on 2026-06-16Join over 14k subscribers on my mailing list. I write about PHP news, share programming content from across the web, keep you up to date about what's happening on this blog, my work on Tempest, and more.
You can subscribe by sending an email to brendt@stitcher.io.
Hi
The generics RFC is failing. What I find most unfortunate about the affair isn't that it means we likely won't get generics anything soon (which I am annoyed with, but I can deal with it); what's more important is how this failure highlights the gap between a big part of the PHP community and internals.
Whether people want it or not, PHP is more than just an interpreter, it's more than its syntax. The reason PHP is where it is today is not because of how beautiful or not the language is; but because of the richness of its ecosystem. PHP is more than a programming language, and without its ecosystem of frameworks, packages, and tooling, I doubt it would still be around.
Meanwhile, there's a group of around 100 people deciding on the future of the language (technically there are around 2000 people eligible to vote, but most don't bother anymore, mind-blowing as that is). There's no leader or entity setting out a vision, and the group themselves is heavily divided; for example spending weeks debating whether a link to X should or shouldn't be removed from their website.
Some say the lack of a unified vision and direction for PHP is what makes it great, but I say it's holding PHP back significantly. Which company that isn't already using PHP would choose a language whose design isn't owned by anyone? Where the only paid entity can be blocked of progress at any time when a small group of people decides against it? A group that has barely any representation from the biggest ecosystems that actually drive PHP like Laravel, Symfony, WordPress, or Packagist?
To me, this is the failure highlighted by the generics RFC, and by so many RFCs besides it. Some people have tried to change the system in the past, to no avail. The committee seems fine where it is and doesn't want the process to change.
I'm hopeful, though. PHP has gone through several phases in the past where it had equally little direction or vision. Then there were also phases where the language took leaps forward. I'm thinking about the very early Zend era; then the PHP 7.0 rewrite with Hack was breathing down PHP's neck; and then Nikita who pushed the language forward during the late 7.x and early 8.x years. Recently it feels like we've lost that direction once again, but I'm also hopeful that the right person or entity will come forward eventually.
So, yes. It's unfortunate that the generics RFC likely won't pass. But it's so much more important to keep discussing how PHP itself evolves. Because, honestly, for me, the process is for from ideal. By the way, I'm not the only one who has something on their mind about generics. I asked a couple of people from around the PHP community to share their thoughts as well. Here's Nicolas, Mark, Azjezz, and Nuno sharing their thoughts alongside mine.
I want to end this newsletter with two questions:
- Do you have your own story to share? Doesn't matter whether it's pro or con generics? Let me know by replying!
- There are around 2000 people with voting rights on PHP. Only around 100 people vote, at max. If you're one of the people who hasn't voted yet, or know them; please consider our part of the story as well, and then please vote. I'm not saying you should vote yes, but please vote if you can.
Until next time
Brent