Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129355 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 89C671A00BC for ; Fri, 21 Nov 2025 07:47:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763711269; bh=wmtv+pZ2cDzhTlpFd00aDdfETgfbPzHItSyyYUQZYG8=; h=From:Date:Subject:To:From; b=FNibwJb3oIkJjs6HQAQgmsvUl3drM3O4fy/Rc2CHFqhlj86jKiJkHfMpHAQaJVYOO nwSvC1uIJxVqmWjLzgxbw4cWZXJb9WqqeAPsvZIjyoDOCF5GXEQvTlSyhXUPLapmMQ KygaOTiDNzC8ip9m+tK7Y0U60lJTIPWapIvF13t5ikbCTtCe2Deew9epvMXlbFnsTO tRWn3WvfvyDhXgcqOdXq4L+9DVBZGFCXY4ZLRp8yXMCu3usZ3pMzpfzMyaPCQpuQKt sDEAz8EVICEERIFAFvWnHrNsJtvrKoLSLs02ioyw0pllr01jk4HJw/D8FQ5Q5lK2X8 +yCBRQRU5rwyw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 2742C180583 for ; Fri, 21 Nov 2025 07:47:45 +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=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,T_SPF_TEMPERROR autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ua1-f54.google.com (mail-ua1-f54.google.com [209.85.222.54]) (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 ; Fri, 21 Nov 2025 07:47:44 +0000 (UTC) Received: by mail-ua1-f54.google.com with SMTP id a1e0cc1a2514c-93722262839so1017241241.2 for ; Thu, 20 Nov 2025 23:47:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763711259; x=1764316059; darn=lists.php.net; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wmtv+pZ2cDzhTlpFd00aDdfETgfbPzHItSyyYUQZYG8=; b=BN0OTk3KXn4bRWdHZW0R6DqsagO3i8IkUevyIg5tf3DB8bon+y/TTuYjaPYgp0+4Kk 21gQQ1bj8yROp9X+hlakiTayweT+CiVAxpvxuGUwaJUSLKO0aqJDgXm5cTSdXXWCiq25 wTaZMT4JJ7M56etg0C/GVY7CMZcpikJmerkXQhaxfLPXykZkY3tz4mZBQT7DNpd8uY+N a0yZ1goJgv9xRHzSuQbvLR4i2OdqXSrHCvEhUkIS1z7BL7uNWuFYaU0Uc2SoqQQZnfHW KXnieizKjr6cTR/jCpvMrnCdg8a8EKTaKs4tW8T1429v1hFmvIwycxETnJrkpmXRtFlX frYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763711259; x=1764316059; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wmtv+pZ2cDzhTlpFd00aDdfETgfbPzHItSyyYUQZYG8=; b=ttpGiqqLImzZ4qSqahNAR0uC9TUZs3J/GtXCsU/G4pg9JsE1nkALHjleqGHWyGQMHO lKTQfEVbHOD6n/9PZP7NSIAkDJ6mqyG+Ar/mEh88qr2QCRUsTdQfUPjO5nM22Ptz/Nf/ ioEm0R1ds+RIQZkS9h/7eOWwH+GF5JgY4jg3jizpM8SAZ0aXGMYcZm/BYFoqT4kyEbj6 GuuNVfEKMxQaHcvfpRByFkSdX8zIcTRyJ/aA5eCbYbF5mp0ob5rmqmqfU3vp9mIgcEAk LZxEb+XV4kOv9eUWCn1Q7ed7mPpHtBfibxhf0udeSewCG5G5okZgy50viaxKvjs3slKk 61mA== X-Gm-Message-State: AOJu0YzKtU0Tr/gBI9sxGa2MksTh9hZCBdXo5FJ0oJWQHqG++vPa6iwL ShtthhjYFrN/raorjpQtN5bZAvJBZbTs6+LaYPukp/E/mQRPG2Kpr/XH19+arIsmcl4x2RGHt49 cYA6uL4q44tW+ZvpwKllfri7Z/TiO3jE4j9A8oBo= X-Gm-Gg: ASbGncttzlkXr/V9jZxE4hkPMRBj7ycWuxYrQF3f0MmFx2Q4eLNVlKVm6hcDktLp0bB B39Hta7+WEoxQmw/lh7qyA+5Bfu/TqRASWjqq4h7VaSqPEkALj27x78cZFSnmwDgO+INW/GhUH1 jttWlxhIdE/VkDZ2f/jprognmNkiaVZCi/YLgfr3Mxu4ITSdcmZlbY7NIQpNa1dCckVTQljaUxI fsWMwc0vFd08Lj+TqL0Ht3zWDfojsl+2mG6ajzVNaWNQKjS1Hq11+YJBwSUcoJHcNt3eig3Iemf odhlbhg5XAakpsGjgi3Cpth0VaI= X-Google-Smtp-Source: AGHT+IGN881L7YHl2R8ZiMrea/J18gEQalzP9FHFnb4ORQ/5HohrImcXaqP72//pbxeOnJhdkwTU3JyeFFg+pKXVJBo= X-Received: by 2002:a05:6102:3047:b0:5d3:ff01:363d with SMTP id ada2fe7eead31-5e1de483627mr333837137.21.1763711259072; Thu, 20 Nov 2025 23:47:39 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 Date: Fri, 21 Nov 2025 09:47:28 +0200 X-Gm-Features: AWmQ_bnjQEkmEPUIas7zNHEwVExXOf8nz1E4y8W1hYaX-Tuo7i-ixeGJVm6ViL8 Message-ID: Subject: [PHP-DEV] True Async: Some words To: php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: edmond.ht@gmail.com (Edmond Dantes) Hello all. If I had known that the vote would create such a hot day, I would have started it even earlier :) I will try to express in this message the same things I wrote in private messages regarding how Async should be implemented in PHP. How programming languages adopt such complex changes: 1. A working group is created to discuss a PreRFC. 2. A PreRFC is written, defining the project boundaries and establishing its key principles. 3. The group refines the PreRFC until it is ready for a vote. 4. The community votes on the PreRFC, confirming that it agrees with the basic principles and will support them in a future RFC vote. 5. An experimental phase is announced. From this moment, a special build of the language is created, allowing anyone to try the new features. 6. The working group continues integrating the new feature into major frameworks and other important libraries. 7. After analyzing bugs and real-world issues discovered during experimentation, the RFC is adjusted if necessary. 8. The RFC is voted on as final. The experimental phase ends, and the changes become part of the permanent language release. I have already proposed this to the PHP Foundation, and I am doing so again. Why? Because I am 100% certain that the only way to implement async in the language is by doing it together. This is not just a nice phrase. It is the real situation. PHP is a language with relatively limited funding and very few resources. If these resources are scattered, there will be no result. TrueAsync has two major goals that represent its most important values: 1. Creating a coherent infrastructure with a complete set of tools for asynchronous programming. Yes, coroutines will run in a single thread. For now, this is the most realistic goal. 2. Adapting the existing I/O functions for coroutines instead of creating new ones. (I can explain the second point with technical reasons if needed.) If the PHP Foundation, PHP Core, AMPHP, ReactPHP, Swoole, Swow, and framework representatives understand the value of these points and why they are needed, and if there is a chance that we can reach this vision, then the TrueAsync project has a chance to continue. I do not believe that PHP can become better by splitting it into subsystems. I do not believe that this would be successful. If this happens, most likely everyone will lose. This is not a question of whether Edmond is right or wrong. It does not matter. This is a question of survival. I am not joking. And it is not funny. If anyone has illusions about a backend language without async support, they will shatter sooner or later. You just have to wait. But it seems to me that after these 3-4 years it is already clear what is happening. Do you need another 4 years? You do not have them. So=E2=80=A6 as the great evolution teaches us: adapt. If resources are limited, join forces. These are simple laws of survival. If principles like =E2=80=9CIt was not invented here=E2=80=9D or =E2=80=9Ct= his cannot go into our core=E2=80=9D win over economic arguments, then the market will be take= n by those who adapt better. Maybe discuss it publicly here. P.S. Actually, =E2=80=9CTrueAsync=E2=80=9D doesn=E2=80=99t sound dramatic enough= . The real name should be: **Blaaaaaaazing** TrueAsync :) --- Edmond