Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:119872 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 65110 invoked from network); 10 Apr 2023 19:01:24 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Apr 2023 19:01:24 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B11F21804C6 for ; Mon, 10 Apr 2023 12:01: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_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-f169.google.com (mail-pg1-f169.google.com [209.85.215.169]) (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 12:01:23 -0700 (PDT) Received: by mail-pg1-f169.google.com with SMTP id e63so2733972pgc.4 for ; Mon, 10 Apr 2023 12:01:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1681153282; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=D4VFXqMB3ezMiA76iaO4SgmzrgudUoThJDz8nkw80cY=; b=AHh+DcBi0RPedS5gOiFmjUxSnt93QWJvbL49vqg3brfRsaM2dLHdg3VN85xFOwt3B2 Tg8R7YlPP2jNzrcTl6J56Sy5Wgx+PQOnv5wN1TXJAJHrEM3s33VWe+lTbQ/usdQfA0sn ngDJlkexlFLcF7TBKxTk0yoBRXtwxh5r8hfkgA01oikDBoqvDf9S1LybTYg6f4PnOezv 5RTvmMfgXTnKxCb/sPj2Gq4ZHIuYPqPI7rvY0RUP7tjeOAE6hElg1xlS1l3vNgMGGiii O06TSyEBTBZA7w2MWqgnpE3SZANUVMkAQVvGKnpEEhf/wyyFpWAWMNIdsJUj2mgZnQJn ttVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681153282; 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=D4VFXqMB3ezMiA76iaO4SgmzrgudUoThJDz8nkw80cY=; b=n75RittcfPmU3X/KZ1WJkdJ1X55L29zrmcmEVT44mSjIajVJ4oPvhNckF/BSO8BJyD 4jYPzNXaN5rQY8Ml4eBUk8PaTe7WX94K/l4RZPRuFeSudg7eIXyX41hxFzIVgrKMGCtz g/eYypTYiMptCSjqarCSMT6rK6RVaAjErNxCt/Evun7BiBom+UC6dACyUvKL9MXwEj6Z BMoIqqY969JJ1GX85WWMgjV1C2063AvDjGvw0thXWkXyof62oVZxiHCA3wpzqGeA5dhS H7imuXOJDdjkQl+op4GR/pKWU7rGKkDWIkcPl28iydqZg2NZ4DogfikUyTU/2aB0lTsA qObQ== X-Gm-Message-State: AAQBX9ckhaYjxbDyh++jL8O/XwBN/3QJX4s3/qKrel6Qmv2Uthey/Lfj vugGCOncGvtHc3BO+gpdiou8FhmytaRcQobU4OWQFon6hlg= X-Google-Smtp-Source: AKy350bQwcK2xkMewbtvLyvODox4HaFZYdWBrZnaMtJDHirKgTlL8JsqRITtLMKTL7j/H7ogzkOFo1sjLeE/4P/n5mY= X-Received: by 2002:a63:5819:0:b0:513:f8ae:5bf6 with SMTP id m25-20020a635819000000b00513f8ae5bf6mr2151939pgb.6.1681153282245; Mon, 10 Apr 2023 12:01:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 10 Apr 2023 22:00:55 +0300 Message-ID: To: Deleu Cc: Pierre Joye , Stephan Soller , PHP internals Content-Type: multipart/alternative; boundary="000000000000338aa705f9000001" Subject: Re: [PHP-DEV] Future stability of PHP? From: arvids.godjuks@gmail.com (Arvids Godjuks) --000000000000338aa705f9000001 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 10 Apr 2023 at 21:30, Deleu wrote: > On Mon, Apr 10, 2023, 1:17 PM Pierre Joye wrote: > > > hello, > > > > > > On Sun, Apr 9, 2023, 1:37 AM Stephan Soller > > > wrote: > > > > > Hello, > > > > > > I'm sorry if this isn't the correct mailing list for that discussion > but > > I > > > couldn't find a more appropriate one where people actually know how t= he > > > wind is > > > blowing. > > > > > > A few days ago I migrated a project from PHP 7.1 to 8.2 and the amoun= t > of > > > deprecations and fatal errors spooked me a bit (details below if you'= re > > > interested). That got me wondering about the long-term stability of P= HP > > > (as in > > > language and API breaks) and I looked at the RFCs. I got the impressi= on > > > that > > > static typing has a lot of traction now and I have no idea of what th= e > > > fallout > > > might be of changing a dynamically typed language into a statically > > > typed one. > > > > > > I keep reading this in multiple languages, pr even more frameworks. > > > > I understand agency work, managers pushing new features instead of a > > cleaning some legacy. > > > > however years of ignoring deprecation notices (very few were introduced > > right before 8.0). > > > > Most of them could have been fixed within a couple of hours in any code > > base, if they had tests. > > > > I would suggest, very very nicely, to review and rethink the developmen= t > > flows of these projects instead of asking php to freeze. > > > > best, > > Pierre > > > > I resent the sentiment of "if your code or development process was exactl= y > like mine you wouldn't be here complaining" and I believe nobody is askin= g > PHP to freeze. Not everyone has the ability to fix every deprecation with= in > a couple of hours and not everyone has tests. Yes, we get it, it's common > knowledge nowadays that code without test is unmanageable, but if you > inherited a 15 year old codebase developed by multiple developers in a > start-up mentality producing code faster than they could actually plan fo= r > and with no tests, its going to take some time to clean that up and if I > take longer than you would, does it mean I matter less as a PHP user? > > PHP 8 is pretty great to work with and a lot better than previous version= s, > but there was no opt-in aspect to a lot of PHP breakages. All that we're > asking here is for a bit more forgiveness to existing code that was > developed 2 decades ago by a complete different generation and still need > to run today while we clean it up. > > > > 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 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 over 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 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 handle data structures and handle the nulls for you en mass. Isolate the internals and just pass already sanitized values into it. Suddenly you cut off like 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. --=20 Arv=C4=ABds Godjuks +371 26 851 664 arvids.godjuks@gmail.com Telegram: @psihius https://t.me/psihius --000000000000338aa705f9000001--