Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:107019 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 72389 invoked from network); 12 Sep 2019 23:22:42 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 23:22:42 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 0AA372CFFB9 for ; Thu, 12 Sep 2019 13:58:41 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp3.php.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Virus: No Received: from mail-oi1-x236.google.com (mail-oi1-x236.google.com [IPv6:2607:f8b0:4864:20::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp3.php.net (Postfix) with ESMTPS for ; Thu, 12 Sep 2019 13:58:37 -0700 (PDT) Received: by mail-oi1-x236.google.com with SMTP id w17so413656oiw.8 for ; Thu, 12 Sep 2019 13:58:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YJV1xNcJjwO3kZ5grgSAMjlYZO2BTTc4tSXcmOZrbvs=; b=ERLQPUk2NznZM9eVHRIPZyK/Xdwk2P9R3jNJd75ctAOVT148g2WRfs7v97QJ/xZ3Gc cvkjFyvPvWwarHiSs6oq2Bc/g8x96Zjr/hRJUR+AYfJfR49pMzGk+VdusgzoPfePpSvi E4cuJJVQLLK1mE+CM01cHcRHALCJSbMJzbJeMJQsX7I+Ifg2yV+xtp1vUBu7cZYg9YoR e8dIXmyZcvr5cxlElW58+Rcx2OyEMI5UvyO+dXMYGOp6Bdl8Z1kMgcqmE8BztevBM9EF 8DJ1o33JFygjInKxKm1bPnxlbAkwPlb8lL2FnTLaCXI561lh8UBfJRLYhCkOcOLJUFE5 /ArA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YJV1xNcJjwO3kZ5grgSAMjlYZO2BTTc4tSXcmOZrbvs=; b=i3gy6NYvcddmAlo9eCGB/kgwj+VA8ifjIGckciONB9R/tUlzDbvT9Cn8iMZ8201dIE 5z3WoOUiJGX6ejWeSOAhuR50MyrPjbuW+sKSa30cIT/VC7TGiKvrNW7j//eo6rDJnhw3 Bu4rceIdNc4dexZVzstybW0Lr1c8tkfIUkcUzOjDbGY7JiRcPWY2yWY2C9cQIfCo2cbi LTwA2MhrWawhClUXUBuWPInJObWl7xCletbljp6MdQeQnz6t4Dx7cT+djMgnIYlrAogP ctYC8Gyk9FQdtDIBs2fYHPz8Fc+jx050DE3Iy9rgpZsCe21H01pRV5bo1d3mcWwF9fXV 8Z/w== X-Gm-Message-State: APjAAAXqWn1CZQd/atbb7sQXKoc567BvMsQGodA4tMLvM6JGjUSmVwQ6 2oKyaD83Gcyy6sIk0NI2wET0liT7 X-Google-Smtp-Source: APXvYqwnCRewHpajN5LYSHXyDqqfMQB1tkEQq3Chuu/iGkfxCsoyBjmhwsBwumkfcUfHjdxRoGvlgw== X-Received: by 2002:a05:6808:a88:: with SMTP id q8mr625689oij.97.1568321916771; Thu, 12 Sep 2019 13:58:36 -0700 (PDT) Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com. [209.85.210.46]) by smtp.gmail.com with ESMTPSA id k4sm9783367otj.49.2019.09.12.13.58.35 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Sep 2019 13:58:36 -0700 (PDT) Received: by mail-ot1-f46.google.com with SMTP id b2so27414450otq.10 for ; Thu, 12 Sep 2019 13:58:35 -0700 (PDT) X-Received: by 2002:a9d:6b97:: with SMTP id b23mr38876927otq.267.1568321915805; Thu, 12 Sep 2019 13:58:35 -0700 (PDT) MIME-Version: 1.0 References: <076701d56978$86020910$92061b30$@php.net> <078e01d5697c$5512bc10$ff383430$@php.net> <31BD63BC-ACE0-4478-B241-E698D2D6F59C@newclarity.net> In-Reply-To: Date: Thu, 12 Sep 2019 21:57:59 +0100 X-Gmail-Original-Message-ID: Message-ID: To: PHP Internals List Cc: Mike Schinkel , Jordi Boggiano , Lynn Content-Type: multipart/alternative; boundary="000000000000af75ad05926166d9" X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: phpmailinglists@gmail.com (Peter Bowyer) --000000000000af75ad05926166d9 Content-Type: text/plain; charset="UTF-8" On Thu, 12 Sep 2019 at 19:10, Lynn wrote: > Whenever one of these errors will occur, you can initialize either the > array key or variable with null and it will work again without changing > behavior. If anything, Wordpress shouldn't be an argument to not improve > PHP, though I think it's important to consider the impact of a change, > including for the Wordpress community. However, I think most people agree > that the quality of Wordpress code and Plugins is highly debatable. I don't > like the idea of not being able to progress because Wordpress users won't > upgrade PHP. > This raises an interesting, tangential point. Who is PHP for? One can argue that WordPress, with it powering 34% of the web (source: wordpress.org) represents more than 50% of PHP users, and therefore aligning the language to how they use it would be sensible, as they are the majority of users. PHP and WordPress have had a symbiotic relationship, the success of one increasing the success of the other. Those who wish PHP was more advanced and different (and I count myself amongst them) do well to remember that PHP has become extraordinarily successful in spite of the flaws now perceived. It's a good language that fills a niche even server-side JavaScript hasn't usurped. There is no shame in a language staying true to its roots, plateauing and eventually dying a death (cf Perl 5). I don't want that, but it's a valid route. And the communities that use PHP in a way many on this list look down on will be thankful to continue to have a language they can use, can hack with, and get stuff done. Even if there's a few extra bugs. The rest of us, meanwhile, have the opportunity to use a programming language that's closer to whatever we feel is a "proper" language (a vibe I pick up in the "they look down on us" and "I'd rather PHP was more like X" messages). If you're going to have to justify upgrading your code, why not propose a rewrite in another language? One can sell it on the fact it won't have the flaws regularly brought up on this list - like warnings instead of exceptions, or two opening tags. Or, despite the fuss on-list, do those who decide how the next project will be written/the current one rewritten, not care to the same extent, and other factors will influence their choice? Personally I cannot wait for new features to be added, but feel our heritage is as important as the future. Jordi expresses my feelings, and I quote him: Breaking BC here does not seem to bring much. If there are cases where > enforcing strictness might allow better JIT for example, then I could > see the case being made. But simply turning working code into fatally > failing code isn't progress. [...] So what do we gain exactly? > Peter --000000000000af75ad05926166d9--