Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102731 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 54447 invoked from network); 10 Jul 2018 19:18:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jul 2018 19:18:28 -0000 Authentication-Results: pb1.pair.com smtp.mail=larry@garfieldtech.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=larry@garfieldtech.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain garfieldtech.com from 64.147.123.24 cause and error) X-PHP-List-Original-Sender: larry@garfieldtech.com X-Host-Fingerprint: 64.147.123.24 wout1-smtp.messagingengine.com Received: from [64.147.123.24] ([64.147.123.24:43299] helo=wout1-smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 08/9C-15421-486054B5 for ; Tue, 10 Jul 2018 15:18:28 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 1401D54E for ; Tue, 10 Jul 2018 15:18:25 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Tue, 10 Jul 2018 15:18:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=2W6RY/WVYp5rj5hcDQLdP+m0bqfN3 qg9oAkV7eLO7Fg=; b=weW4aloPDFXjd30sFho70Ws/lvIj/kqmO0HTwz5hrPU8g tS1i/BfIYfoJu3n82kOQ7rxDOqPme6CHp01rm1WFul6oPw+z0TqPkOcWLDcQN8+2 lWoIjX2g4iKlPmr+lXu3+2+1jTqmNLWGBjJX1aXUo09ea+6SetxIwvmOBJLHowh7 jd5cpYayoD2Xg8lnz+WnvwFKT5dtla56Nn8zxyJC1V41EqoX3aYpAI28/9Epi5t7 x8m8n+JzD2qnXjWUymRbEMQBlZk+x8qGiNptIq8XCfMxali1EKIIH8Fm7juH/2xk Ixta/mG/4iEkmT0SoCZ41x9qhBkZfJXna32YGH7dA== X-ME-Proxy: X-ME-Sender: Received: from vulcan.localnet (216-80-30-152.s3222.c3-0.frg-cbr1.chi-frg.il.cable.rcncustomer.com [216.80.30.152]) by mail.messagingengine.com (Postfix) with ESMTPA id 5D0B810292 for ; Tue, 10 Jul 2018 15:18:24 -0400 (EDT) To: internals@lists.php.net Date: Tue, 10 Jul 2018 14:18:20 -0500 Message-ID: <8062036.rYxh8IFiYi@vulcan> In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart19634238.YjFZB9JIL8"; micalg="pgp-sha512"; protocol="application/pgp-signature" Subject: Re: [PHP-DEV] [RFC] Typed Properties From: larry@garfieldtech.com (Larry Garfield) --nextPart19634238.YjFZB9JIL8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" On Tuesday, July 10, 2018 6:56:24 AM CDT Zeev Suraski wrote: > On Tue, Jul 10, 2018 at 2:06 PM Pedro Magalh=E3es wrote: > > On Tue, Jul 10, 2018 at 11:33 AM Zeev Suraski wrot= e: > >> I've also given several examples - some of them arguably quite bigger > >> than > >> this proposal - where we sat on code for a very long time (multiple ye= ars > >> even) in order for it to be included in a major version, and not a min= or > >> one (phpng, JIT, FFI) even though technically they could go into the n= ext > >> available minor. > >=20 > > Hi, > >=20 > > I'm trying to understand this argument better but there is something I'm > > missing. Why would a feature like JIT (which would be transparent to the > > user AFAIK) need to wait for a major other than marketing reasons? > > Sorry in advance for the slightly off-topic question. >=20 > Major versions are in many respects "marketing" events. They're an > indicator that big changes have happened in the language, big enough to > warrant a change in the major version. > It's a relatively recent evolution that we decided to only make it possib= le > to break compatibility in major versions (and it's a very positive > evolution, without a doubt), but either way - compatibility breakage has > never been the motivating factor behind a major release. Major releases > enable compatibility breakage, not the other way around. > Major features have always gone into major releases (with one notable > exception - PHP 5.3, which many argue was a de-facto major release). >=20 > While 'marketing' always played a role in designating a certain version as > major - getting people more motivated to upgrade, bring positive vibes and > attention around the language, etc. (as was the case with 7.0) - since the > formal release process and the policy change to only allow compatibility > breakage in major versions - these compatibility breakages actually, to a > large degree, 'piggyback' on the major new features. To make it more real > - what would the migration to PHP 7 look like if it was all about the > compatibility breakages, and not the performance boosts or for that matter > - scalar type hints? Both of these (performance boosts and scalar type > hints) could easily go into 5.7 from a purely technical perspective. >=20 > Zeev While the marketing angle is valid, Zeev, it seems predicated on the idea t= hat=20 there won't be any other major new-and-cool features developed between now = and=20 8.0. I'm reasonably confident that someone will find some user-facing=20 exciting thing to improve between now and 2020. I know some people have pl= ans=20 they're already working on. Conceptually, as Nicolas and you have both hinted at, PHP 7.x is the series= =20 where "typing got real". From a user-facing/marketing perspective 7.x is a= ll=20 about performance and typing. That's the through line. Including typed=20 properties in that makes logical sense, marketing-wise, and would be a fitt= ing=20 capstone to the 7.x series in that regard. =20 That's true regardless of whether typed properties go into 7.3 or 7.4; if=20 given the timing they need to wait for 7.4 to have some extra polish done=20 that's entirely reasonable, IMO, and doesn't change the underlying point. However, mixing "no new features in 7.4/8.0, just the engine changes" with = "we=20 need a big showy thing in 8.0 to help sell it", er, feels like a=20 contradiction. It makes it sound more like "borrowing" a feature from 7.3= =20 (typed properties) for 8.0 for purely marketing purposes, and then also=20 blocking any other features, so that we know 2 years out "the only interest= ing=20 thing in 8.x will be typed properties, because that was written when 8.x wa= s=20 still just a twinkle in the eye but we sat on it". That feels very=20 disingenuous. I am sure that's not your intent but those two statements together ("minimi= ze=20 features for 8.0" and "save this feature for 8.0 for marketing") just don't= =20 fit together in my mind in a nice way. =2D-Larry Garfield --nextPart19634238.YjFZB9JIL8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEE/ph/GXfY8v0YwFBp4MMKwDFxYXcFAltFBnwACgkQ4MMKwDFx YXcgQAgAiV8TvMjjPpg6vceWqax4fMkXeMlDV1a6oGEXpBQTv3QpoEiDjFSCB6dD slxytVK1XboDxpKM+j+HTRgqp+DecridZMfneV4xWF0tLHWdyk/FA7C7YlKw1c69 0cG8Tydfjf+8Z58NOwwGqrHM4ngHumwwonqbm+MGFYghNSxiXf6MQuCAT8/Mkpdr yHrTkNre8HsMNOdVTsHDcyGKFgfbsWdj2QSy7peRClRmlZQCOTauBZwVdrJETqmi DAvslxvdL/j9kWePC9Z/c4uOZkHk86r6Nzp/qiiMWgSXU29Jd19JahLOLex7jE1W nG6iEC0UdvvAOnQ0WAZYFfvcILv6jw== =hyjs -----END PGP SIGNATURE----- --nextPart19634238.YjFZB9JIL8--