Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:107455 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 19398 invoked from network); 9 Oct 2019 19:16:07 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 9 Oct 2019 19:16:07 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 1EA392D0769 for ; Wed, 9 Oct 2019 09:58:49 -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.6 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS11403 64.147.123.0/24 X-Spam-Virus: No Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (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 ; Wed, 9 Oct 2019 09:58:48 -0700 (PDT) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 33481464 for ; Wed, 9 Oct 2019 12:58:47 -0400 (EDT) Received: from imap26 ([10.202.2.76]) by compute7.internal (MEProxy); Wed, 09 Oct 2019 12:58:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=w59RFHXYTMiOn/BoP/qjBXRp9jXzHJ2ehcw1TF6hx i8=; b=xdtlkrHpcghCMHYtJxeFJ/IBfh+LbMTwVWRn5GlEKya2PSeh54OZ1oDhN AOv9SAUzQ+wmQlQO7P6zt+JA0ZD8Sz6qk2B02lDEltPzaTviECW7etxq83V1xtIF L8een7x958kycduIWylDq73HrfzHcdC20KM+3t9yGIqarX2wcHZ1zSyfhhZCpwZu RQdV+U3xohYNyjoO8l5HoC6MzLotr8xCmySMh/3gPmb8BAeJzc3LAAdV3OkTsMBP 9a2nQlIQGANNNbHW+oT2GeUqUO3NNwTcjl9ud8H0kcdCc22UAXbSAeRGZru7IWS6 Lq8ls6esWm44rEDv3D1gcAvQwk72A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedriedugdekgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtgfesthhqredtreerjeenucfhrhhomhepfdfnrghr rhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtoh hmqeenucfrrghrrghmpehmrghilhhfrhhomheplhgrrhhrhiesghgrrhhfihgvlhguthgv tghhrdgtohhmnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 7DA7E14200A1; Wed, 9 Oct 2019 12:58:46 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.1.7-360-g7dda896-fmstable-20191004v2 Mime-Version: 1.0 Message-ID: In-Reply-To: References: <5d976928.1c69fb81.db3a8.78daSMTPIN_ADDED_MISSING@mx.google.com> <413d377a-4ce1-a521-0cb4-5bb37e84c257@gmail.com> <6DFA91F7-0005-453E-A314-A5DFE1A4D3D3@newclarity.net> <82012CD7-088D-4010-922E-AD54186AE37A@newclarity.net> Date: Wed, 09 Oct 2019 11:58:26 -0500 To: "php internals" Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Envelope-From: Subject: Internals "camps" From: larry@garfieldtech.com ("Larry Garfield") On Wed, Oct 9, 2019, at 2:50 AM, Zeev Suraski wrote: > As I wrote a couple of weeks back, before we agree on the principle - = that > these contentious, breaking-for-no-new-reason proposals can=E2=80=99t = be forced on > everyone but we need to make it opt-in, I don=E2=80=99t think formaliz= ing it into > an RFC would help. I could be wrong, but I think we=E2=80=99re curren= tly lacking > in good will on the other camp, which appears to feel a lot more > comfortable to just go on producing contentious proposals day in and d= ay > out, and live with whatever sticks. Tangent: I think it's a mischaracterization to divide opinions about PHP= 's future into "two camps", one of which wants to defend BC and never ch= ange anything and make the language as loosy-goosey as possible, and one= that doesn't care about BC and wants to turn it into Haskell. Those ar= e hyperbolic and incorrect descriptions of where I see people standing, = and creating that "two warring camps" impression only makes the question= about how PHP should evolve harder to resolve. There are several distinct axes of philosophical debate, and they do not= necessarily correlate at all. =20 1) More BC protection vs less. 2) More opt-in "syntactic error checking" (eg, typing) vs less. 3) Fail hard on error cases vs "assume what was probably intended". 4) More "simplify common tasks" sugar vs less. 5) "performance reigns supreme" vs "spending performance to get usabilit= y is a good tradeoff". And probably many others I can't think of right now. Those various axes= do not all correlate, and I suspect all 32 combinations of answers to t= hose questions are represented by someone on this list, even before gett= ing to the fact that they're all scales, not binaries, and some overlap = in interesting ways (eg, failing hard is in some cases a BC break, other= s not). Zeev, you're very strongly and vocally on the "more BC protection" side.= That's fine; I agree with you, by and large. But lumping "pfft, BC" i= n with "moar types" and "fail hard" and "moar sugar" and then dismissing= them as "the other camp" does not advance the cause of BC protection, n= or does it advance the cause of Internals not being a running gag of dys= function, nor does it advance the cause of making PHP a better language,= for any definition of better. As long as "anyone is allowed to propose an RFC", we *will* get RFCs tha= t go against the informal consensus. Over time, that informal consensus= will thus shift. That is an inevitable and unavoidable result of PHP's= loosey-goosey structure. If you want to really protect BC, the way to do that is to actually put = guidelines in writing that people have to read before proposing an RFC, = and that we can point to when people ignore them anyway. But "that's ho= w we've always done it, no it's not written down but we really have" is = an approach doomed to not only fail, but to maximize the amount of strif= e as it fails. Let's please not do that. And developing such guidelines absolutely positively cannot happen on a = public asynchronous mailing list. I've been through such processes enou= gh times to know that is the worst possible way to do it. --Larry Garfield