Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119848 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 98744 invoked from network); 10 Apr 2023 08:48:09 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Apr 2023 08:48:09 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id ECB9D180041 for ; Mon, 10 Apr 2023 01:48:08 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_20,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8560 212.227.0.0/16 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 10 Apr 2023 01:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1681116483; i=a.leathley@gmx.net; bh=5+hnWpGBCirTQKdeIopWmf2PGTZbiWU8S9pISU0DLvE=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=p2wEFuN4XQNdMLOZMTxj354szeg0/6FKHdyTjsht6cAPoxvidbWkvsEOk8wnFBHIM DPrWERMCG9phLk/ldE8SLPH+KikA1UB1seUijYWCbzBBuK4DTRjg3FPseOeQ/YIGfQ 7+8YmVBpez9KhFhrJxMn7F7CsJp78h/OMjOj5Lr3rMS6fNuORbYKOpBlxlcIxCeMrJ JppmMohdyXluEL36iTnX2tbShsOw8gEQ9CtYNoYplqKkeuPrIp2rOU19s5PW06s791 v+o6ejHIzPeF69WpNmbjexnpVwbc65Rwxf08fyJe5ijn7fYi2dM47FZ0AhYsM7ASKW v7nThAxEP6zJA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.120] ([24.134.51.41]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MmlT2-1qCdV72qzW-00jsIz for ; Mon, 10 Apr 2023 10:48:03 +0200 Message-ID: <8b20a236-c4c4-9b61-43f1-ff6145752c75@gmx.net> Date: Mon, 10 Apr 2023 10:48:03 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 To: internals@lists.php.net References: Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:d6po3RY4T2S9LjLDgPr2PnOwu8fMH3eHcIOpLWewj7wh8lpsR8h PTfsSlmuGtXZypdaQVZlgTEt4qK1VxIzg6XawSWGVzjcv1SMQV/S7zx1iKQEJMJR2z91DHB 857itm7T8wK9eN9EwEjsgrLYe1S+m1sj5WyKKU5WjJ9AxYHJWeMgtJiQ3I/9Pw+Yjr7I8G9 PO70EX3yBayC4cC9VsffA== UI-OutboundReport: notjunk:1;M01:P0:Qnu7strRNXM=;aY0TEykkQOGp0BzeRRz2cme+p+O CD0AoknbANhCjgG9p9LQ4hqJ99/kwrRUOu3SLniwVeJhlzxruhGxYOPAc0qb6a0ozSse6TCdF aiTIgAC98uAzVtVtLqmDGQ+B0neOT1ivhQc80X7COTtKgmuhqVshIgh537v16jeFh1gL7T69A fVM/XZScD4o8TEZXFS6zHpL+B+z2lMTfKuMsALbPWEX8iElxAP6aevosmobY6v2wBhPRp0ohe WugvGwZUD4KoQbnUUMk7W3OpLzp5u3LkfmeJscKrkCz195nkp1WiDil+SmCPRkfDnrkIlw4uh o/gjAVSaVWVqJGEI03g6qPmnU7tzVDgE+5hZTMeR5oWYJJGpRi042Hx0vnT8qGEIbuCsnqiYa RIzzoDqAbUK9apP4ay1F7FOEz09D7ArM/meNKBXeYOXhYlc0eJn451ypzlp0bOTuAt58TM1Ce yeOTKDNFr2LAsUfzMS976GiGrY2svNVLHns4mz/XlTbWwtV6SrE7ISpGSXsszHKI3Ix7rIqAK 6JteibHO4z8If3uBMxPnl/ZPA202FONf0i9sBssK6Y+uPPDudMejWnWSK+/KGoyxIIqli0GU0 0Kw3QYS6ZJ8Fc9qWEjLRu5bZWZSTEJgJS1gVbFGwxTbKZR2IiU3D2C5VobSpxJbWsNaBCZm52 Uq4am7e2a/otMP/+OPBiMuzTj5qTzlzOcF0r4TwUmrTW5s+iSgxUnGCzREutMu36iLKryOmhi N4D3M0oAUFN1qleq3VgBzjCMa71xNrjR5kx0gWClH5PUmeoIxYisry0CT/TBMACIqkL/He/ZF bvHaYDshSOCt2SNM+bd7mPBHo8uVk+Q8NgiBBaXs7lIpOMCHMuafDeJGVcMLRJdHtZ4gYYzpW SYxtCibC5oWoatwtd4eIn/oxcdO46HXAkpX1CdHBdq+LITupBHtmkBJ5xGjsQ3JauA9U2mib4 IOBNNw== Subject: Re: [PHP-DEV] Future stability of PHP? From: a.leathley@gmx.net (Andreas Leathley) On 10.04.23 01:44, Deleu wrote: > Over the course of PHP 7 and 8, there were significant concerns on how > problematic PHP deprecations and breaking changes were. Now we're starti= ng > to see the result of such concerns being ignored. This isn't the first t= ime > someone mentions on PHP internals that it's getting harder and harder to > stay with PHP, but it's never really received with an open mind. It's > either "you don't have to run deprecation-free code" or "you've had year= s > to get rid of that deprecation error, tough luck if you didn't". > > I love PHP and I built my career around it. I have zero interest in > starting from scratch in another language, but I've lost count on how ma= ny > projects, friends and companies around me have already made the switch t= o > Typescript. It's getting harder and harder to argue in favour of staying > with PHP. The PHP ecosystem even just in the last 10 years has changed completely, with composer, more mature frameworks, easily usable independent components and even static analyzers. For me that ecosystem is the big value proposition of PHP, in addition to a good standard library. Typescript has a completely different value proposition, and the language itself is usually not the deciding factor, as there is so much more to it. Only through the deprecations and the type system does PHP even offer some similar features as Typescript - like type checks and the possibility of a static analyzer. If all these changes would not have happened, people likely would argue even more that they had to switch to Typescript, because of the missing type safety in PHP. Nowadays there are even tools now like Rector that can help you automatically upgrade your codebase - that is also a new value proposition. My projects were affected by all the new warnings, deprecations etc. over the years, but I found countless bugs because of those (and many bad choices - is count($string) really what I wanted?). The language warning you when you are likely doing something with little sense is a huge value proposition - otherwise why are people using Typescript instead of Javascript? It would be interesting to know why some people are having such huge problems upgrading their applications, as I think those would often be good stories with something to learn in them. So to the original poster or other people with big problems when upgrading, writing a blog article detailing what happened would be helpful to evaluate if the PHP project could improve something, or even why something broke. And just as a sidenote: I never have more things breaking than when trying to upgrade a JS/TS-project, because of changes in NodeJS, because of slight breaks in dependencies, etc. To me that clearly works better in PHP, but experiences can differ.