Le mar. 10 juil. 2018 à 14:56, Zeev Suraski <vsura...@gmail.com> a écrit :
> On Tue, Jul 10, 2018 at 2:06 PM Pedro Magalhães <m...@pmmaga.net> wrote: > >> On Tue, Jul 10, 2018 at 11:33 AM Zeev Suraski <vsura...@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 > Just to clarify my previous statement: marketing is a good reason to bump a major version. Doing so creates momentum after the release and motivation before. I just don't agree that typed properties are part of that. They are a really natural and important feature, but not one that will allow anyone to do anything new that wasn't possible before. JIT and/or async are game changers. They don't play in the same category to me. Others might disagree of course, and I don't want to minimize their importance nor the work of Nikita and Bob. Kudos to them actually. Nicolas >