Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119885 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 96446 invoked from network); 10 Apr 2023 21:42:48 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Apr 2023 21:42:48 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 2542B180084 for ; Mon, 10 Apr 2023 14:42:47 -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_H3,RCVD_IN_MSPIKE_WL,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-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (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 14:42:46 -0700 (PDT) Received: by mail-pg1-f170.google.com with SMTP id bv65so3024498pgb.8 for ; Mon, 10 Apr 2023 14:42:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681162965; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=4wH43+fs0aE6dNvYhxikJB5qqST0kCkIz00mjtT5SBE=; b=llER/yLSlsLc1nC720x1USwRkqXg/tRl4gRvjJz6BU+9D9+AcChoTvEZzi1Jkpo+mQ XMKD9WcJ3CUESV6wuVang150HELu+tK4/THgtd6leekBgvMgKRwqQHvLTnQNWbXxitwS DYcJxCnwuCbPIFl+XLYfAi9z4tZMT1Y0nOcRhYMXhXghvnbkKFoMykVH0YknX4yuMGyi GSKFHEutiuPbwQcuO+nzeq0Pwn7k89kD4nVzqGa/twsea9MCqub90uSuz//X+smffB0+ sdtu3Xjtu1y6JbD5xMMNoJvl83c6WZN7Z11zJNHS60on0M/FxOe4YdEh1vcNWMTV4Exm ZpTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681162965; 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=4wH43+fs0aE6dNvYhxikJB5qqST0kCkIz00mjtT5SBE=; b=iB/+KtNDlWYLd8oX6QQDdO16ckSotjjks03R7IsuHPVGQU7D1fTFtykUsWIKCGT0G4 7kcZYDU+vurIE+GRr+l0BXkaxApZ//NURFZl1EKE5s5sxiAgy3n0L+pSBKQfnPmF3avg CnFaEkgBV7ZkAKm+ZAZ6wdR3vcg0GKDGCabKvD+pqO2s/uWCPAA8VlZ4NMoxw14wUzwU SMmMC0W5dayu/nKSxFhIfHb4aqJxGuOsusai1ypHrCo6Y48+5js0Sk6wvII+EXGU+azA ijFZTwpmOCP4l+t6KWVTDZsqv5AAmJWvirOp4XdZzRMqrUH19ApNM9z4GehrOYF2qZ1w p28Q== X-Gm-Message-State: AAQBX9ebx1gz19H76hlEI4V8d3XwWJHh9+df7IIIgpdZzobZZ6BdkN3u B3+0WQrUTx2FOV45Y0J5CIjKrHLv1oPkSlY0A+WNTKthKY4= X-Google-Smtp-Source: AKy350ZfbRasUbjQJSFfaMEXVsRPTTFNBFJay1LvPOQ8Q+42mMqPMPAQTPgoyckHntDNZytuqDc2q94emjeQG3+B+TE= X-Received: by 2002:a63:5d0c:0:b0:4fc:2369:811 with SMTP id r12-20020a635d0c000000b004fc23690811mr2850934pgb.6.1681162965624; Mon, 10 Apr 2023 14:42:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 11 Apr 2023 00:42:19 +0300 Message-ID: To: Deleu Cc: Pierre Joye , Stephan Soller , PHP internals Content-Type: multipart/alternative; boundary="00000000000060325b05f9024131" Subject: Re: [PHP-DEV] Future stability of PHP? From: arvids.godjuks@gmail.com (Arvids Godjuks) --00000000000060325b05f9024131 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 developer raised = any >> concerns lately, which I also have seen quite a bit when "yes man" just >> shove code into the meatgrinder for a year or two and then just move to = the >> next job: "It's not my problem, the next guy will deal with this". And t= hat >> feeds the vicious cycle, and the owner is either oblivious 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 an >> effort of 1 month of my time to drag it into the modern day paid off ove= r >> the next 6 months by picking up development speed by 3x with the same te= am >> of 5 people + me. In 1 year we started to literally take away clients fr= om >> our competitors who could not keep up with us and we had a literal line = of >> clients to onboard, we had to scale our sales team 3x and had a backlog = 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 that >> 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 almost = any >> language that is being actively developed. Think laterally - instead of >> hand-fixing every null check out there, introduce a library that can han= dle >> data structures and handle the nulls for you en mass. Isolate the intern= als >> and just pass already sanitized values into it. Suddenly you cut off lik= e >> 90% of the needed fixes that prevent you from running your code. It's st= ill >> needs fixing, but at least you give it good data to start with, so it do= es >> 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 f= or > 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 long ago convinced th= e > people in my business that we need to pay this technical 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 legacy, > 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 also > 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 to > 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 alway= s. > - like it or not, there is a community unhappy with how hard it has becom= e > to maintain a PHP codebase. > > I believe there's a lot more leeway in breaking BC and fast evolving the > language around projects that have started in 2018+ with automation tests > from day one. Introducing a BC break on PHP 8.3 about something that was > first released on PHP 7.4 is orders of magnitude easier to deal with than > BC breaks on things first Introduced on or before PHP 5.6. If we could ju= st > have a way to opt-in to a faster-paced language for all new code while no= t > breaking PHP 5.6 features until the previous generation of software can b= e > retired, that would be awesome. > >> I do have to ask: How any of that is the concern of PHP the language, PHP the project? This is pure and simple is a company issue. Now they have to pay for their decision by probably buying some 3rd party extended support. P.S. I wish all the luck to the teams going with TypeScript rewrite. Having dealt with NodeJS on a sizeable project - never again (the npm ecosystem has an atrocious problem with code quality and bugs that are not fixed for decades - you have to raw dog it on low-level nodejs drivers and modules to get code that works reliably). I sincerely hope they know what they got themselves into, considering they were working on a PHP project. --=20 Arv=C4=ABds Godjuks +371 26 851 664 arvids.godjuks@gmail.com Telegram: @psihius https://t.me/psihius --00000000000060325b05f9024131--