Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119891 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 9258 invoked from network); 10 Apr 2023 22:53:24 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Apr 2023 22:53:24 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7D23B18037E for ; Mon, 10 Apr 2023 15:53:23 -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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,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: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) (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 15:53:22 -0700 (PDT) Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-1a5266b458fso3577695ad.0 for ; Mon, 10 Apr 2023 15:53:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681167201; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=fIosvrfgDt5l63UdfGKSgIX+JFNGk2rWPeKrpLX48sg=; b=ZMmjn6pA6rn+VBf0ZfOcGwMmDi7Nr+vTJ0hAgupbmDfbbdAJGKCVEvaFnzKdtKpL3A CLBw/an3CVOmBUzti/cuWqbxRDNoleSYIVZWPYd+9tdC3dPfpp1Wdu3gv9vTqGrcJtpo 7MRGcfhr+wjf0PjdDyDoyrdkY8BELiM5cdK6oVGbcpoZfjGnBdqxZBlRvDyTfwJcgf9c pfdDECWdfCWytrhSpZRC66n9kFfNreFlc47Bk4Hiy50zcmnyONJk6Z0+wq7Yh/PbBhgr paWOvlWLyEmUqGrGnkZYzLRAQ0d5rRlILPPHC5QELFFCJAfCCZnzdAtzmvu1mhUO7sHS glkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681167201; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=fIosvrfgDt5l63UdfGKSgIX+JFNGk2rWPeKrpLX48sg=; b=HgqGgLsMZVAhFoUcd6oxpoLnRumR9CtJk7ZN6qY7aozIHEUXDTGfSlBckYMAxuokoH QoOa6oMztDG/uL0v4eF8qVU6+hM0IqC/ZWNyLSj8dpsnEQ0wH+jSrQm8WTREd3QX3p+/ YjcsvtT6WdLA/OSig+mBmiLt2dbgMnVgA4N1cMO7TY9vg/j44wqvxYu5TP61DKvTXpx6 qW+uZRdxMYShTQBvA0TZ3hQD+Mw2VxFZDqBlNG1mlD9j2ajVMcLa+1AStfkEA25LdMKV ASbcF499g/G7rBQpOgt1kPPFPRFezaLCfKusVRRXFEyuH53nIxihV/CqxmFmf7urLMR5 ZYXw== X-Gm-Message-State: AAQBX9e3jw6NkVaT1bhkQV6WPIElYZ5y1yQoHCIeQEM9ruh7kkWZkMVI XHtuqwSa/m7L6qV1O1UDcM7J15DxBZ2npGno+M62L/APUI0= X-Google-Smtp-Source: AKy350ak52TGwBVVcHKWXXV3AqB1091XstBrTzUGzZYIbbJ7USmIwHjGE4aM3KpXW6h2qIblGIdjmyI50Y1zQBZuTb4= X-Received: by 2002:a05:6a00:2182:b0:625:73a7:326f with SMTP id h2-20020a056a00218200b0062573a7326fmr5458780pfi.3.1681167201519; Mon, 10 Apr 2023 15:53:21 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 11 Apr 2023 01:52:55 +0300 Message-ID: To: Deleu Cc: Pierre Joye , Stephan Soller , PHP internals Content-Type: multipart/alternative; boundary="000000000000dacc6105f9033db6" Subject: Re: [PHP-DEV] Future stability of PHP? From: arvids.godjuks@gmail.com (Arvids Godjuks) --000000000000dacc6105f9033db6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 11 Apr 2023 at 01:08, Deleu wrote: > > > On Mon, Apr 10, 2023 at 6:42=E2=80=AFPM Arvids Godjuks > wrote: > >> >> >> On Tue, 11 Apr 2023 at 00:03, Deleu wrote: >> >>> >>> >>> On Mon, Apr 10, 2023, 4:01 PM Arvids Godjuks >>> wrote: >>> >>>> >>>> >>>> >>>>> *snip to keep the email short* >>>>> >>>>> >>>> Hello Deleu, I want to highlight your response specifically, because >>>> you blame the wrong people here. >>>> This is the failure of the business owner to plan accordingly and >>>> ignore all the warnings for years and decades. That is if any develope= r >>>> raised any concerns lately, which I also have seen quite a bit when "y= es >>>> man" just shove code into the meatgrinder for a year or two and then j= ust >>>> move to the next job: "It's not my problem, the next guy will deal wit= h >>>> this". And that feeds the vicious cycle, and the owner is either obliv= ious >>>> or does not understand the implications because "well, it works, it >>>> generates money" at the moment right until that plane hits the ground = and >>>> things blow up. >>>> I've handled a big legacy project, did major updates to it, seen how a= n >>>> effort of 1 month of my time to drag it into the modern day paid off o= ver >>>> the next 6 months by picking up development speed by 3x with the same = team >>>> of 5 people + me. In 1 year we started to literally take away clients = from >>>> our competitors who could not keep up with us and we had a literal lin= e of >>>> clients to onboard, we had to scale our sales team 3x and had a backlo= g of >>>> 6 months still. All stemmed from a single decision "I will tackle this= , we >>>> need it to update to newer PHP". Business owners were really stoked th= at >>>> they actually listened to developers. >>>> >>>> You cannot expect to run code that was written 2 decades ago without >>>> major updates on modern language versions. It's not possible for almos= t any >>>> language that is being actively developed. Think laterally - instead o= f >>>> hand-fixing every null check out there, introduce a library that can h= andle >>>> data structures and handle the nulls for you en mass. Isolate the inte= rnals >>>> and just pass already sanitized values into it. Suddenly you cut off l= ike >>>> 90% of the needed fixes that prevent you from running your code. It's = still >>>> needs fixing, but at least you give it good data to start with, so it = does >>>> not error out. >>>> -- >>>> >>>> Arv=C4=ABds Godjuks >>>> +371 26 851 664 >>>> arvids.godjuks@gmail.com >>>> Telegram: @psihius https://t.me/psihius >>>> >>> >>> Thanks for your reply, I understand everything you mean here by >>> improving a development flow. I've been responsible to for doing that >>> improvement for the past 6 years and I'm pretty close to retiring 100% = of >>> the legacy code, but I still need a couple of years to do it. I have lo= ng >>> ago convinced the people in my business that we need to pay this techni= cal >>> debt. >>> >>> You mentioned that I'm blaming the wrong people, but I'm not blaming >>> anyone here. I have 4 teams working with me to replace our entire legac= y, >>> one bite at a time, but I lead only 1 of those teams. The other 3 teams >>> have not only decided that the technical debt needs to be paid, but als= o >>> its not worth it to pay it with PHP and have move to Typescript. >>> >>> My points are: >>> >>> - development practices has changed and we know it, but it takes time t= o >>> shutdown legacy >>> - we are actively working towards paying that technical debt and PHP >>> improvements are great to help with it, but the deprecations aren't alw= ays. >>> - like it or not, there is a community unhappy with how hard it has >>> become to maintain a PHP codebase. >>> >>> I believe there's a lot more leeway in breaking BC and fast evolving th= e >>> language around projects that have started in 2018+ with automation tes= ts >>> from day one. Introducing a BC break on PHP 8.3 about something that wa= s >>> first released on PHP 7.4 is orders of magnitude easier to deal with th= an >>> BC breaks on things first Introduced on or before PHP 5.6. If we could = just >>> have a way to opt-in to a faster-paced language for all new code while = not >>> breaking PHP 5.6 features until the previous generation of software can= be >>> retired, that would be awesome. >>> >>>> >> I do have to ask: How any of that is the concern of PHP the language, PH= P >> the project? This is pure and simple is a company issue. Now they have t= o >> pay for their decision by probably buying some 3rd party extended suppor= t. >> > > I think that's a very honest and on-point question. Which is somewhat > related to what I meant to mention here: > https://externals.io/message/119834#119846 but got called out as > "spreading BS" by Larry here: https://externals.io/message/119834#119868 > > I don't agree with Larry and I think you're dead right. PHP has a limited > resource and maybe it has decided that the "legacy community" is not a > priority and/or not worth the work. If that's the decision, I have nothin= g > else to argue and I can accept it. > > -- > Marco Deleu > The reality is, the bandwidth developer-wise is just not there. Not even close. So PHP does its best effort to keep BC, but up to a point while it is sustainable. Beyond that point, as in 3 years of support, the older versions have to be let go and development needs to continue. The project has the rest of the programming world to keep pace with the limited resources it has. --=20 Arv=C4=ABds Godjuks +371 26 851 664 arvids.godjuks@gmail.com Telegram: @psihius https://t.me/psihius --000000000000dacc6105f9033db6--