On Mon, Jul 1, 2024 at 2:21 PM Jorg Sowa <jorg.s...@gmail.com> wrote:
> > You don’t make any effort to help or provide constructive criticism; you > just love to (incorrectly) tell everyone what they're doing wrong and how > they should be doing it, without adding anything constructive to the > conversation. > > Please limit to the arguments on the topic, not a person. > > The argument "Relying on the global mutable state is a bug" is completely > valid and in most of the cases is the signal of bad design. And it has been > already addressed in some of the functions, look at > https://wiki.php.net/rfc/deprecations_php_8_3 for deprecations on rand > functions. However, it's not so trivial to fix everything introducing > compatibility-breaking changes. So it shouldn't be advised to add more of > such functions. > > Kind regards, > Jorg > It still doesn't make sense. Even if we removed all the functions from my list, the entire engine remains filled with global state. Internal zend_class_entry instances, arginfo macros, the interned string table, executor/compiler/scanner/each-extension globals, and so on—all contribute to global state -- or bugs according to you and Larry, unless your stupid argument applies only to languages under your control. Do I think it always makes sense to use global state? Absolutely not. But I won't go as far as to imply that relying on 'global mutable state' inevitably leads to bugs. Cheers, Lanre