Re: Why did fibers get added to php c ore over something more fleshed out like swoole?
| From: | Rowan Tommins | Date: | Sat, 14 Oct 2023 22:48:35 +0000 |
| Subject: | Re: Why did fibers get added to php c ore over something more fleshed out like swoole? | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-121315@lists.php.net to get a copy of this message | ||
On 13 October 2023 01:59:59 BST, Lanre Waju <lanre@online-presence.ca> wrote:
> It sometimes seems as though certain choices may not
> align with the best interests of the PHP community. I would
> appreciate it if you could provide insights into why this
> might not be the case.
Leaving aside the specific examples for a moment, the basic answer to this is "because
we're human". Even the best designers in the world do things that they'd change if
they could do it over, or agree to compromises that cost more than they initially realised.
In fact, we're probably more "only human" than you think. By that I mean that from
the outside, it's easy to assume there's an elite team of Language Designers, sitting on
some kind of PHP Committee; but the reality is very different. There's just a bunch of people
who sign up to this mailing list, and chat in a few other places, and try to figure out how to make
the language better without breaking billions of lines of existing code. Don't get me wrong,
some of the people here are amazing at what they do, but few if any do this full time or are even
paid at all (head to https://thephp.foundation/ if you want
to help grow that number).
That means the project is and always has been run on collaboration and compromise - features that
someone has time to implement, architectures that multiple people are happy to work on together,
solutions that move things forward without making the perfect the enemy of the good.
Sometimes the answer to "why doesn't X do Y?" is just "because nobody's
stepped forward to implement it yet"; sometimes it's "nobody's worked out how to
do it without breaking Z"; in which case, feel free to volunteer that time, or solve that
issue. But, yes, sometimes it's "because we had a long and tiring debate, and ended up
with a compromise that nobody really likes"; or "because the lack of official leadership
and a relatively high turnover of contributors makes us pretty bad at longer-term planning".
As Jordan said, if you really want to have a productive discussion about a feature, try to come
across more positively, e.g. "I was thinking it would be useful if the language had this
feature, and was wondering if it's been discussed before?" Bonus points for adding
"... and if there's a way I can help add it?"
Regards,
--
Rowan Tommins
[IMSoP]