Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:105493 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 28657 invoked from network); 29 Apr 2019 06:50:46 -0000 Received: from unknown (HELO mail-lf1-f67.google.com) (209.85.167.67) by pb1.pair.com with SMTP; 29 Apr 2019 06:50:46 -0000 Received: by mail-lf1-f67.google.com with SMTP id w23so6683336lfc.9 for ; Sun, 28 Apr 2019 20:52:34 -0700 (PDT) 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=Rxul8t0CoMnEEitajJ4YoFfGHRrLssZsaCVzL5rloBo=; b=G+ksnTuV9Gaers9kxkrZdybqkv57vl/FV+vGnMyoMXe0yTPhAEgj+t62z/OzpWhFxU Tyv22E3QywUVhAR0HQeVeW8q9A4kpYj4aRhVPZZFDrHuOkmX//yweqsq5ySGgZ4LeMnC pNYBmN/Ttuy0G/ceuByDWsdI0gRTyAR3UrSgUJf5cMvyBvgh+sr9VI3UdIf6IQjV0gPr dxxQRuzN/d+AHL/huwRqDGqe17RCTHxl9+4DxjU+OqW58fWePf6zmI3rNAl+sMiQjSpH rXFXufX/EZkvEiJ9VtaBSTfyoUvlWd/rpLoU0hm0McIfs6HIPezxXtYBxqi8eVzb5LpA q3pA== X-Gm-Message-State: APjAAAVYv5bDeLELJY8za44erFQO4ZGCMW51IoGPHikrhQnIQ3dk13AN KxR3qmfp54rt0PoJARIJ5oBquOU1zDHTb8efHhU= X-Google-Smtp-Source: APXvYqx4KAK7qgTubyfnlkl7tbHUqbiSRx00LyXkQvG2IZzmdEPsAVVFVLEi7q6q3KkFUXJvlfdXLOccwnVm2brgGEg= X-Received: by 2002:ac2:598b:: with SMTP id w11mr32527788lfn.62.1556509953685; Sun, 28 Apr 2019 20:52:33 -0700 (PDT) MIME-Version: 1.0 References: <7b3a754e-3225-1921-b751-d1dec0435daf@gmail.com> In-Reply-To: <7b3a754e-3225-1921-b751-d1dec0435daf@gmail.com> Date: Sun, 28 Apr 2019 21:52:17 -0600 Message-ID: To: Stanislav Malyshev Cc: Bishop Bettini , Nikita Popov , Bob Weinand , PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC] Change the precedence of the concatenation operator From: levim@php.net (Levi Morrison) On Sun, Apr 28, 2019 at 7:45 PM Stanislav Malyshev wrote: > > Hi! > > > Nikita, impressive leg work; thanks. It validates Bob's intuition from the > > RFC ("... these occurrences are quite rare as it almost always is an error > > in the current form, rendering the impact minimal.") > > If the impact is minimal, why do it at all? So, at the cost of BC break > and breaking old code (which is most definitely not in composer packages > and likely isn't publicly accessible) we maybe fix 5 bugs. Does this > justify a BC break? I don't think so. I really wish we'd stop trying to > add a thousand small incompatibilities between PHP 7 and PHP 8. I wish we could stop having this conversation on this list over and over. A certain level of backwards compatibility is essential, but beyond that you limit the future by the mistakes of the past. In a language like PHP a lot of mistakes were made, which greatly limits the future. Every time I try to add a feature which ought not to break anything I discover some horror in our language. Fixing bugs are often just as bad. Now, back to this particular BC break: it doesn't really enable a lot of future things, so here I can understand the resistance. Personally, I am slightly in favor of it. It seems like the precedence of concatenation ought to be lower than most other operators, because it doesn't make sense to use those operators on the result of the concatenation. This has occasionally caused small bugs in our code, and would prefer to fix it long-term.