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

Reply via email to