Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129865 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 961361A00BC for ; Thu, 22 Jan 2026 16:38:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1769099942; bh=qfS4Cz+IwwX79rl6z8GSR2ICxG/8W4Gm7Kklgj3lE8M=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=DFah5QER59GvTYBmgwGbdPsGYkKwHn99ofNO8PXrgVa8NSnbWJXuaPOwDOQ8/aZ+3 Mr0ddkv8sIP/IHg79KoJmw8nGKYHWpTJM1eorH320jof3+TW/9SajCxg8GF8Ah4Oca kee87seZ7D73M0Rt+wG9P70J+D428F0gqcF0MXR6xjJExFaoB4mMbJQFSpMqwPiT1H /Ef5CgnO3Y0jEcdKzC+zlUpCDav9av23JiY5qqbMI6gcC3KhlLVBB/SupEoVQq5m6B PrApOCaLZD8jGdhLsN1tpFObYihZcqMum0sWVR3XIPGpGKkwXyyviZMnDFnATGb38e Iz61xmUTPpSUQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 643CF1806E9 for ; Thu, 22 Jan 2026 16:38:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-vk1-f177.google.com (mail-vk1-f177.google.com [209.85.221.177]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 22 Jan 2026 16:38:56 +0000 (UTC) Received: by mail-vk1-f177.google.com with SMTP id 71dfb90a1353d-56636dc53a6so182402e0c.2 for ; Thu, 22 Jan 2026 08:38:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769099930; cv=none; d=google.com; s=arc-20240605; b=A6UUzcN1bx5hM6OjBdiORDkoigrGr4A9aOuUzaxMPY/9IHXqr5ZUwM2NoRbMJpyXgD VPr55ZlWP9snGduRdN5yBs0NreGoK8dZbZEgTM84XFf2Cn1FY4/b1o8E7gwTc0KvOc5D T+0c/TNrN+g9F2xVus7o3+ibeSeUfrx6xaMKSKGAkWwmdZhF1QwvUkfITJJqoLJelkG5 Su8Tj9jELZ3s15xYmw5GDlSoczU4UzlS0KT+wdW7Z0HKNhnEnnZi/A5ZM/Qms2PUbMg4 nPoyMbRz53yNj/QrMpv98fOGj2cwYPo/T5EfYB4DcyUyJ/zWkDFhSr7bilir5cvWGXPu wh3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=qfS4Cz+IwwX79rl6z8GSR2ICxG/8W4Gm7Kklgj3lE8M=; fh=Aq3KOSZ6Tns4hvamxmO+7cjuoeiqQOnc5EITeULogMw=; b=Ac+N+NtH2Tez0k2giCc7xGpoe134kVJ8sWj5ArLrHqhESvbBPFibZVBv2yohQDmgVR yPnf0hpxdDB7YMSY9+hRy3EfCbIwWGM3mnEPuQxX3FMreviHQcteCPRgLrZ1Ha+VXAAv tsuEJ34KIrcFGvoPbtoSbQp5OsRNQ2nmBh1sI4HCMXKl9JdgATvXDa4C4YWWtmTJyaQH qVTd8UnxUkzXgGQ91cm+PCM9F4OkgOQjutYldoA0UggFwAPyMyzUB8AzVFXwOvVFAEFx hyU6F8WFmtnm7Ww7vGq6YFw63SatvtOdl3fejx62q7Sq4TPC7TDBErXGxf89yivYj1TZ cW3w==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769099930; x=1769704730; darn=lists.php.net; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=qfS4Cz+IwwX79rl6z8GSR2ICxG/8W4Gm7Kklgj3lE8M=; b=SfIWAsYUB3YlrmtZrO8Zv0+Vg47v3cTd3x4dBOfac8CqWGkqSnDvHiAjW1C6Tfb5Y+ kOLrB+gBWZpALBzqafVFOPGsIXsCRKR3AZkLeluFmEaKuBCrSuJwrPF8Z1NZmE8+wJr8 wMOOGBFPsh3yLwmAPuoKoCjF7+BG6Vq3EKjN9yKoh1PR/0eLDhGReVak0wvblK2o4Zim 9Nnu0VP0aNYYTxFcCJ+HSpMDbxVnFE7BGVoUaESDu4r3SDsB/EOmJQdzMK/NfhrRitIZ qKEI9JQCkHhum5sjO9p2EVy02ZHV5zbIVUHf0Y5sH4vzSX8LVCg7qfE4tPZ/nOZrw9US ZsAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769099930; x=1769704730; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=qfS4Cz+IwwX79rl6z8GSR2ICxG/8W4Gm7Kklgj3lE8M=; b=gVTEuVOGUxhIbuh7S7emjuBRHI1C4Y7HIKYXxMLc3GSsQ2FsR6A/Bmrn9/pJHHA5Na QpgFR8Va5ynuyuLcqmwlXPmbtuMYQOW52jAVS+IHv2gcYSrvvMt0r8sKvLu83OMYxxWw eNYTitVebgDWoer6S7Njov62SasUg/FBPiQNKQVjYYT/r5ZBrMVJSFYDd0pDwpoEhYn8 27tZPRnDnlRmmO3lpE6W5NpjtcWtSUuF4DVmF2x33lQPIFaOs00y3yp/jItuVytUeod0 xuHYX/furgRWkjl+OPxA0f1f8BpnWf3IDXoZ7v6A00WSo0dg75QZz/I27dwRPykRQy5c ry4w== X-Forwarded-Encrypted: i=1; AJvYcCX+6/fhMvOAH3lUiV74l2C8jJKp+YyjwEk9dCuX2lC2ZVfo+IfnRFfhLeS1UNmMLvNo+G7UL63KeaA=@lists.php.net X-Gm-Message-State: AOJu0YyiiuBDF50Aqhz8P7yv7FDrEblNvqIQnZiIoHbKPycy608geUqx MYAEodSURYaNeIpIQ5y1G48L7ON5nt4fecLZm/xyD/V4nW6phVPhXZF1xgTikG11Do1Ey3fmYzz beym1n+d6rkKnquwThEI5CWsL7t0FbuA= X-Gm-Gg: AZuq6aJilBoncm0PmisySoZJ6oPKKXNd2CE04mCRn0eA9WvUzUebexNmToIO/0R44gM 1vhb/h39W/NkCKcyB/hobe0Cel7aYr4cP3d/B9OY7j6dUqBja3CFp9sUwRynhrKkikDqny1l+0I bqCM0oxu/eKV4tS93uQVp6+7VMO3CjZ74P6+3tuoKCBEPGIhI9pL9cSB85TZQQilfyLeYZE2nsK HAqnpvLXsbJrL77NybsSDEnSMe6ReBzHdFwPKUkPknPlPECcGe+4aUB3k4xj+myJsALfdx80gDi 6CRVLOWWCgYhvqYmpkJW2n3vZJI= X-Received: by 2002:a05:6102:6ce:b0:5ed:e4c:e147 with SMTP id ada2fe7eead31-5f54bc62193mr92315137.28.1769099930051; Thu, 22 Jan 2026 08:38:50 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <79CDB2CC-E397-436E-B5A2-10DA1E451A97@rwec.co.uk> <9f2fb78d-143e-c84a-8243-97e0352497e4@php.net> In-Reply-To: <9f2fb78d-143e-c84a-8243-97e0352497e4@php.net> Date: Thu, 22 Jan 2026 18:38:38 +0200 X-Gm-Features: AZwV_QjbN3iQXFVa2Ed87zb27Wynr5KudSc_UhHPtnP3ckus5NP21U1ttKtZX2E Message-ID: Subject: Re: [PHP-DEV] Re: [RFC] True Async RFC 1.7 To: Derick Rethans Cc: Jakub Zelenka , php internals Content-Type: multipart/alternative; boundary="000000000000e72ab80648fcac4e" From: edmond.ht@gmail.com (Edmond Dantes) --000000000000e72ab80648fcac4e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable https://tonybaloney.github.io/posts/why-isnt-python-async-more-popular.html I would also recommend paying attention to an excellent article about asynchrony in Python and its problems. And next quotation: FastAPI, the web framework that=E2=80=99s async from-the-ground-up grew in popularity again from 29% to 38% share of the web frameworks for Python, taking the #1 spot. It has over 100-million downloads a month. Considering the big use-case for async is HTTP and network IO, having the #1 web framework be an async one is a sign of asyncio=E2=80=99s success. And this is despite the fact that there are various problems, such as code splitting due to colored functions. That=E2=80=99s a serious argument, isn=E2=80=99t it? =D1=87=D1=82, 22 =D1=8F=D0=BD=D0=B2. 2026=E2=80=AF=D0=B3., 17:15 Derick Ret= hans : > On Thu, 22 Jan 2026, Edmond Dantes wrote: > > > > I don't like this experimental model or introducing API stability > > > levels as it is confusing for users. It requires extra checking for > > > users to do for each API (no one usually does it and with AI it will > > > be even more problematic because it might not tell that the > > > generated code uses experimental API). This would just become pain > > > for user and I don't think it would be good for PHP. > > > > I think this is a good topic for discussion, and we could talk about > > the pros and cons of a =E2=80=9Cnightly=E2=80=9D build. I could explain= how early > > product delivery improves code quality. > > > > > That can be already done but it will never guarantee that the second > > > vote will succeed. > > > It's OK! > > > > But at least I would know that the PHP community truly wants to make > > the language asynchronous. I still don=E2=80=99t understand the answer = to that > > question. It seems to me: no. > > I think there is a difference between: > > 1. Make the PHP language wholly asynchronous > 2. Add some (more) asynchronous functionality to PHP > > From this series of RFCs, I think you believe that 1 is needed, or > perhaps *necessary*. On the other hand, I believe that most PHP > developers are more interested in the second option =E2=80=94 run a few s= low > things in parallel. > > There have now been more than half a dozen variants of the RFC, and > beyond the amount of work that you put in it, it also asks a lot of > everybody else to read and understand. > > As somebody earlier in these threads explained, the subject matter is > also not a simple one, and it requires deep understanding to be able to > understand all the trade-offs and consequences. > > Implementing this project requires is a large undertaking, akin to the > Unicode project (PHP 6). That project ultimiately failed because it > ended up being too big, with too many trade-offs. Your "True Async" > project additionally suffers from only having one main implementor. > > The Unicode issue got partly resolved by splitting it up into much > smaller blocks, in the form of the intl extension, and now in the last > few releases with better support for handling graphemes. We have seen > the same for PFAs and other langauge additions =E2=80=94 this makes it mu= ch > easier to reason about that, and to get these features adopted. > > I have said this before, but for a large project like "True Async", you > really ought to get a group of people together in a Working Group, to > decide what *PHP users* would want this functionality for in a language > focussed mainly on web applications. > > But you approach this from the other side, by wanting to make PHP itself > an asynchronous language. I think doing such a large project, mainly by > yourself as the sole designed and developer, is doomed to fail. It isn't > something I would be confident about voting for, at least. > > cheers, > Derick > > -- > https://derickrethans.nl | https://xdebug.org | https://dram.io > > Author of Xdebug. Like it? Consider supporting me: > https://xdebug.org/support > > mastodon: @derickr@phpc.social @xdebug@phpc.social --000000000000e72ab80648fcac4e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
https://tonybaloney.github.io/posts/why-isnt= -python-async-more-popular.html

I would also recommend paying attention to an excellent article about= asynchrony in Python and its problems.

And next quotation:

FastAPI, the web framework that=E2=80=99s async from-the-ground= -up grew in popularity again from 29% to 38% share of the web frameworks fo= r Python, taking the #1 spot. It has over 100-million downloads a month. Co= nsidering the big use-case for async is HTTP and network IO, having the #1 = web framework be an async one is a sign of asyncio=E2=80=99s success.
=

And this is despite the fact = that there are various problems, such as code splitting due to colored func= tions.

That=E2=80=99s a = serious argument, isn=E2=80=99t it?

=D1=87=D1=82= , 22 =D1=8F=D0=BD=D0=B2. 2026=E2=80=AF=D0=B3., 17:15 Derick Rethans <derick@php.net>:
On Thu, 22 Jan 2026, Edmond Dantes wrote:

> > I don't like this experimental model or introducing API stabi= lity
> > levels as it is confusing for users. It requires extra checking f= or
> > users to do for each API (no one usually does it and with AI it w= ill
> > be even more problematic because it might not tell that the
> > generated code uses experimental API). This would just become pai= n
> > for user and I don't think it would be good for PHP.
>
> I think this is a good topic for discussion, and we could talk about <= br> > the pros and cons of a =E2=80=9Cnightly=E2=80=9D build. I could explai= n how early
> product delivery improves code quality.
>
> > That can be already done but it will never guarantee that the sec= ond
> > vote will succeed.

> It's OK!
>
> But at least I would know that the PHP community truly wants to make <= br> > the language asynchronous. I still don=E2=80=99t understand the answer= to that
> question. It seems to me: no.

I think there is a difference between:

1. Make the PHP language wholly asynchronous
2. Add some (more) asynchronous functionality to PHP

From this series of RFCs, I think you believe that 1 is needed, or
perhaps *necessary*. On the other hand, I believe that most PHP
developers are more interested in the second option =E2=80=94 run a few slo= w
things in parallel.

There have now been more than half a dozen variants of the RFC, and
beyond the amount of work that you put in it, it also asks a lot of
everybody else to read and understand.

As somebody earlier in these threads explained, the subject matter is
also not a simple one, and it requires deep understanding to be able to understand all the trade-offs and consequences.

Implementing this project requires is a large undertaking, akin to the
Unicode project (PHP 6). That project ultimiately failed because it
ended up being too big, with too many trade-offs. Your "True Async&quo= t;
project additionally suffers from only having one main implementor.

The Unicode issue got partly resolved by splitting it up into much
smaller blocks, in the form of the intl extension, and now in the last
few releases with better support for handling graphemes. We have seen
the same for PFAs and other langauge additions =E2=80=94 this makes it much=
easier to reason about that, and to get these features adopted.

I have said this before, but for a large project like "True Async"= ;, you
really ought to get a group of people together in a Working Group, to
decide what *PHP users* would want this functionality for in a language focussed mainly on web applications.

But you approach this from the other side, by wanting to make PHP itself an asynchronous language. I think doing such a large project, mainly by yourself as the sole designed and developer, is doomed to fail. It isn'= t
something I would be confident about voting for, at least.

cheers,
Derick

--
https://derickrethans.nl | https://xdebug.org | ht= tps://dram.io

Author of Xdebug. Like it? Consider supporting me: https://xdeb= ug.org/support

mastodon: @derickr@phpc.social @xdebug@phpc.social
--000000000000e72ab80648fcac4e--