Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124482 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 0AE4A1A00B7 for ; Thu, 18 Jul 2024 14:37:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1721313567; bh=A+coxIuoTN4HFlkzlmQ3ZZm3pry1opgr2IYVAo8GtO4=; h=In-Reply-To:References:Date:From:To:Subject:From; b=mkw3Ev5Rvx0whAMnXf+EIwuGnF89TpguD1VwsMkouKRogCJvkr/Dgj4lnnU47Lhtx ihHwcn5igUmTbZHkdQRUmpjMTG0IGWfhqdFT01JjDA2tD26tUCKkmXz2MymNibKDaL y8OXNkHeSrplCuxcbFMWLprv0R/1u445XxL3+pnWMXz9gXSI03UAkuIekHrdSMrYam DyYije14WtXSZjIQUETphOWfoBL0tCYacV9V3tQ4NDWS7A/+ZaMY3UUXS2AB6AEUJH QXD0Xuc7ClMsKPYzodiOXdbD/YWW3qQz4fKXz5Qh2LiOL+eYgeJTrcCafjyjFa+gPq aupbujqoKrk9w== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 89086180533 for ; Thu, 18 Jul 2024 14:39:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh3-smtp.messagingengine.com (fhigh3-smtp.messagingengine.com [103.168.172.154]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 18 Jul 2024 14:39:26 +0000 (UTC) Received: from compute9.internal (compute9.nyi.internal [10.202.2.228]) by mailfhigh.nyi.internal (Postfix) with ESMTP id E4A8B11400D6 for ; Thu, 18 Jul 2024 10:37:54 -0400 (EDT) Received: from imap50 ([10.202.2.100]) by compute9.internal (MEProxy); Thu, 18 Jul 2024 10:37:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1721313474; x= 1721399874; bh=XE5bes3nBr7NPtmkkM06CebSnwPOZrfVJreqrZxxumA=; b=D eXAszSMji/bpMrSUPe0O7x3NOsG1bXqljXSRi8t8hAt8/tVsDvcLrob/yiV727k8 qEFSqZvuRtbiH0cNW2KmkVYdsNZ+Xc5v2Y+PaOf2L/hPfFkixNPIrbO+Buv8zrXm ETar70vLoacvHb1YQcySG9jMl1nDyrRI1TzFVWejVLsJovzdSZCOwqteTQ2Eveja 89S9U8PhfL3O4vUpIpK0fUL5s253ktELv8odToIfBTgU4kyIBS4CgeOWOjOZLsvz mpOKY7HanSqAg2k6i4flY55CgJ3LkBTmJI9s5I8s6XS0ZWPnxMJvk1UeFV0XHzDi DKxPIe5GNGn1iFVqOAW+A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1721313474; x=1721399874; bh=XE5bes3nBr7NPtmkkM06CebSnwPO ZrfVJreqrZxxumA=; b=AfmNYW00HCvyvfKd8cPtGspnpfBUyjzhguZD1X3t64XI iQoUK7oENTk+wCVjT8oq1KBs0IBC+h5c2tGwKH97rL14yWpxOD2SN1+Fwfj9E2u9 tnDIoro5fwR2QWMGlPPVMHMxk+2jHLD2I/e4NAV7PXQl/Ubclu0TBuOpXnK7ycv7 wbBMwi+YIxSiBzxjq63riqA+26xlX+uzeg7vnIEkzDefAFd/YH7D1NdH71iaf1V7 J41wf3g82O436MrAL34Rs2pInDoVjJb8faU6I1Cr2o9OS8MrBHTvSZu2kkxiSyil Xw02tpK+fC+1FN8NzR9MeLeyAlC2Zs2KaEgHSJ1pNA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrgeelgdejkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvufgtsehttdertderredtnecuhfhrohhmpedfnfgrrhhr hicuifgrrhhfihgvlhgufdcuoehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomh eqnecuggftrfgrthhtvghrnhepgeelgfekudeivddvteffueejffdthfejieevhefgffek udevkedtvdelvddvffefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheplhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhm X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 693D41700093; Thu, 18 Jul 2024 10:37:53 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-568-g843fbadbe-fm-20240701.003-g843fbadb Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Message-ID: <667151f4-22c5-464d-a01e-ad2a36cb767d@app.fastmail.com> In-Reply-To: References: Date: Thu, 18 Jul 2024 14:37:32 +0000 To: "php internals" Subject: Re: [PHP-DEV] Optional constructor body Content-Type: text/plain From: larry@garfieldtech.com ("Larry Garfield") On Thu, Jul 18, 2024, at 2:03 PM, Lily Bergonzat wrote: > I would love to see those improvements as well, however I am surprised > we seem to be more inclined to push a more substantial change than a > minor one. > > I feel like the more substantial one would be more likely to break > stuff, compared to the minor one, and so I don't see why the minor one > would be refused? > > That said, I am new here, and I do not yet know how things work, so it > probably is because I lack experience. As you're new, I'll just note, please don't top post. :-) The optimal size of an RFC is a very squishy topic. There are some that argue for "the smallest possible and no smaller," on the theory that bite-sized changes are easier to discuss. However, they also attract more bikeshedding, and often a feature is not actually useful except in conjunction with other parts of it. On the flipside, a tiny RFC has a hard time justifying its existence, since whatever intended follow-ups that would make it actually useful are never guaranteed to happen (either the authors lose interest or they get voted down later, etc.). Going through an RFC also has a lot of process overhead, and breaking one small RFC into many tiny RFCs can actually take far longer than the one larger RFC. Conversely, an RFC can be too big to really comprehend, and then no one really understands what it's doing without hours of reading and research, and there's so many moving parts even the authors cannot keep track of them. On the flipside, some parts just don't make any sense on their own unless combined with other aspects of a proposal. So there's really no "natural" size for RFCs generally. It will vary with the topic. Also, the impact of an RFC often has very little to do with its length or number of features. The RFC text for "don't require ; to end a statement anymore" would likely be pretty short, but would also break, er, everything. :-) Conversely, offering a new syntax for abbreviated constructors (as being discussed here) would be longer than that, but the impact on existing code would be zero (unless it's done badly). Also, "minor work" can end up causing problems for future work. See also: readonly, which was intended as a "junior stepping stone" to more complex features, but as we've found, actually makes those future features *more* complex because it wasn't designed with those future expansions in mind. My own stance (which I do not claim to be universal) is that an RFC is "right-sized" when it offers notable, meaningful benefit on its own, without "holes" in the functionality, but can and should have natural "extension points" where it will dovetail nicely with other, future features, which can be planned or not. Sometimes that means a very short RFC, other times it means something the size of property hooks. :-) It's really a case-by-case situation. --Larry Garfield