Re: [RFC] Typed Properties

From: Date: Tue, 10 Jul 2018 11:56:24 +0000
Subject: Re: [RFC] Typed Properties
References: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  Groups: php.internals 
Request: Send a blank email to internals+get-102704@lists.php.net to get a copy of this message
On Tue, Jul 10, 2018 at 2:06 PM Pedro Magalhães <mail@pmmaga.net> wrote: > On Tue, Jul 10, 2018 at 11:33 AM Zeev Suraski <vsuraski@gmail.com> wrote: > >> 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 years >> even) in order for it to be included in a major version, and not a minor >> one (phpng, JIT, FFI) even though technically they could go into the next >> available minor. >> > > Hi, > > 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. > 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 possible 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). 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. Zeev

« previous php.internals (#102704) next »