Hi,
Hello Bart.
I am ready to agree with every word.
Participation from a working group, framework representatives, and the
ability to adapt libraries in advance would remove the concerns that
are currently causing fear. This is probably the only effective
process for developing and introducing such a feature.
Then two days later, you decided that no more discussion was
necessary, and opened a vote.
This feels like a complete contradiction.
Let's find a way to get that working group set up, and get people from
other projects involved.
My key takeaway from Bart's message is:
> Moreover, even though there are quite a few people in the community
who have the knowledge required because they either develop or work with
aforementioned libraries or extensions, (almost) none of them seem to be
involved in discussing this RFC.
> For an RFC that can drastically change the way we develop
applications I would expect more experts on this matter to be involved.
Ideally, PHP core developers, library developers & maintainers, IDE
developers, ..., would develop software using this branch to at least
get some feel for the paradigm and this RFC in general.
I absolutely agree with this take, however, so far, the discussion
around this RFC has been, in my opinion, mostly bikeshedding, with
theoretical correctness proposals that are an absolute nightmare in
practice (like structured concurrency), proposed by people that
admittedly have never written extensive amounts of async code in
languages using multiple paradigms, and thus haven't:
- Experienced the pain of writing async with colored functions
- Experienced the footguns of structured concurrency
- And on the other hand, haven't experienced the pleasure and simplicity
of safely writing async code in languages like Go, or in PHP using AMPHP
(which use uncolored and unstructured concurrency, the kind proposed and
championed by edmond)
While a working group *can* steer the conversation away from
theoretically correct but practically unusable approaches, that can
happen only if
- The correct people (i.e. async library maintainers, or people that
write async logic every day in multiple languages like myself) are present
- They are given more weight than the average PHP developer who hasn't
used async much if at all, and can only make theoretical proposals not
based on practice and experience
I'm afraid that given the current state of the PHP community, which is
largely new to async, the quality of the conversation in a working group
would not be much higher than the one I'm seeing in this RFC, and would
just protract even longer the agony of design by committee, where in
reality what's needed is a single, clear and correct vision (which
Edmond has), without influences from unexperienced people making
proposals based purely on abstract/theoretical PoVs.
Regards,
Daniil Gentili.