Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119887 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 1793 invoked from network); 10 Apr 2023 22:08:26 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Apr 2023 22:08:26 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 63F96180511 for ; Mon, 10 Apr 2023 15:08:25 -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=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,FREEMAIL_REPLY, 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-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 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:08:25 -0700 (PDT) Received: by mail-ua1-f54.google.com with SMTP id bh10so5660233uab.13 for ; Mon, 10 Apr 2023 15:08:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681164504; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=kE9lX4/xubH9bpO/QVuVB+I5duLd0qApiGzIsENCQbI=; b=I4BQLpw8fbzvTHW2snyw5E0ADAYQERe8SOhFdeRv+cts8JBiytC2DIvgmZuFd2YPjL ms7UNSi+PiGti+39hDC11hEMQtB5RWdwJIrEkV13cT3R3M8J11JTq2jeANfttqwkjhYS bhVJOwgZ6x5+5/9sNFqL1dpgNdBEfhuFVuhCied8Vrtfiao/+k5BRL/9e/Vc0x30dZy1 qaBpfYh+MNF5HhNVru3OkAEhXRpmqm3Y/ZYBZnAOhkj9d67/J+uKwGUpvDOce4cBpVUD rWq7ORLE5yjrNf+Ue6427bJVI3/q+KF76LrOwj+iVfobX4aRpRgzh2bq9at+D20fjCWu 77NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681164504; 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=kE9lX4/xubH9bpO/QVuVB+I5duLd0qApiGzIsENCQbI=; b=UlKO1mpMAEayrWjMCM61WLphH6oHPasB3PMp2XEZTUMqxrtIAQlI8CyW+AKg6TynKt yjfDyj1F46Nf1Rbitt9DzoZSzULUFQUzIQUgm2NPQ6n7SEKiABXQXbw0MkUaHyTxco+P QIsz+YPjamGC7cFI9QIF5IU6k1QlULkPu/qR76j+UqJBH8HW6g4SFDHqfWtktx3cRWSv zx25f+OeTH2JBTO6mHa74XoaTS0q/ZAJC/nL+7eHLQls+e0lA7ikJJfgbqtOQhYViFBl 0gaxoTnZ6gKfrVerQKfaisdw5W7AHseELHN3lAvKXzeogXByknhIWcBQjRJgxtaWDWLx M0Xw== X-Gm-Message-State: AAQBX9dOTyUCOZu77D7dfHGE6rUnDfOKM0Fel04AwfOfuksdIFycd0vj FoKp8y88ryp6uYuMfi2I/LAGjkUJ/JohtYbINWA= X-Google-Smtp-Source: AKy350au8RGrsx9u8BeoSkFlodHvJZJq7aVZwOBexL30z1aQbh+KJXKVlPGjGswKTFd3exqrrBRfswkHlpdBoWUJvO0= X-Received: by 2002:a1f:9d91:0:b0:43b:6f57:4a00 with SMTP id g139-20020a1f9d91000000b0043b6f574a00mr6587451vke.3.1681164504166; Mon, 10 Apr 2023 15:08:24 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 10 Apr 2023 19:07:48 -0300 Message-ID: To: Arvids Godjuks Cc: Pierre Joye , Stephan Soller , PHP internals Content-Type: multipart/alternative; boundary="00000000000014771005f9029d1d" Subject: Re: [PHP-DEV] Future stability of PHP? From: deleugyn@gmail.com (Deleu) --00000000000014771005f9029d1d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 yo= u >>> blame the wrong people here. >>> This is the failure of the business owner to plan accordingly and ignor= e >>> 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 = that >>> 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 ov= er >>> the next 6 months by picking up development speed by 3x with the same t= eam >>> of 5 people + me. In 1 year we started to literally take away clients f= rom >>> 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 tha= t >>> 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 ha= ndle >>> data structures and handle the nulls for you en mass. Isolate the inter= nals >>> and just pass already sanitized values into it. Suddenly you cut off li= ke >>> 90% of the needed fixes that prevent you from running your code. It's s= till >>> needs fixing, but at least you give it good data to start with, so it d= oes >>> 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 improvin= g >> 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 cod= e, >> but I still need a couple of years to do it. I have long ago convinced t= he >> 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 alwa= ys. >> - 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 the >> language around projects that have started in 2018+ with automation test= s >> 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 tha= n >> BC breaks on things first Introduced on or before PHP 5.6. If we could j= ust >> have a way to opt-in to a faster-paced language for all new code while n= ot >> 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, 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= . > 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 nothing else to argue and I can accept it. --=20 Marco Deleu --00000000000014771005f9029d1d--