On Thu, Nov 20, 2025, at 11:18, Daniil Gentili wrote: > 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.
I kind of take offence to this statement. First of all, I work almost exclusively in Go these days, and on FrankenPHP. I only brought up colored functions twice, because literally every language that has attempted the proposed solution here have all reversed course and implemented coloured functions. I've hand-written schedulers in C# (which is also cooperatively scheduled). Second, Go has a tremendous amount of primitives for dealing with concurrency: wait groups, locks, atomics, etc. This proposal has none of that, hence my concern with suspension points. Further, I have worked with AMPHP extensively since it's generator-based days on multiple projects, and with Fibers quite extensively as well. So saying "proposed by people that admittedly have never written extensive amounts of async code in languages using multiple paradigms" is factually untrue. — Rob
