Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:106472
Return-Path: <nikita.ppv@gmail.com>
Delivered-To: mailing list internals@lists.php.net
Received: (qmail 45984 invoked from network); 9 Aug 2019 09:55:02 -0000
Received: from unknown (HELO mail-lj1-f176.google.com) (209.85.208.176)
  by pb1.pair.com with SMTP; 9 Aug 2019 09:55:02 -0000
Received: by mail-lj1-f176.google.com with SMTP id t3so2644172ljj.12
        for <internals@lists.php.net>; Fri, 09 Aug 2019 00:22:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to
         :cc;
        bh=hvBnw+Q/xo7Ml9SA+Wb9motJntOIXt0V/hBCi74ei3g=;
        b=JytuiXnDWnOfbEgNNgUG1YXuBsmVXkBk3Q9RttblUeoIqBkjpx6NyiwlGt8rhKlav4
         G15knhnIyiKwL6tgTAyhDE1zXaYe83CTrowve/zV5CO+F0x+ky9ORCYipeeRvOyZiLh5
         qSSw8yQMMNh2DgFvj4xNLHqEfkbFebVoOJ/bIkJeQdaIBd2SQiO/rDEQ5Z49y+hdS6Uz
         qW2g0N0tD7+u2+bYE79cmsL40K7jwqk2vRgmL7g4F6YlZP4ZoPOuFg0zMQ2ULdXph4NT
         lxWG2BymreDAckdKXZiw/8/ha8B7xOc9T+5R55LSP+MQcEe5cJJCE1382iXGuf70Fejd
         kjXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to:cc;
        bh=hvBnw+Q/xo7Ml9SA+Wb9motJntOIXt0V/hBCi74ei3g=;
        b=s3Kmlvl71QIyGepdvXoYcByAu5vo7OWTYmoJP9BlzipftBSVNzBIlGYks1+Z9S/bna
         I6cc3Q485a1WPmg7YlVvzWdjCkiv5LLdjKb3QVEbqi2jj+M3CnReKzgHNqpa0b8NVpf6
         kCUtj3jMnLyGZmmEz/mcbXjFPorLx0m6csIPuDQ1bIebVUMl5svk+I0RUIdVzI/J8dAu
         c+ilzNw3Gag2YkOUJe1UGo/6LoXYdy3hB5X+qc3f/PGiNyc7NyGsZ9YEkurt82pqbUZP
         cy+8s+9+6WoqqhaHXIqYy1XbAwXqCOk0v7vN2j6TFFH8rypWb1KePXrkjmU15ewsPMzf
         dVcA==
X-Gm-Message-State: APjAAAUBI+cDxDB6KM6G3gigFu8rWLvJRvKqT48OsGPyVYSLBGZjPaa3
	Vl2WQbpQeA3Gj8/KvD4EFJQpMUqpKTAqlamIaupGR6DF
X-Google-Smtp-Source: APXvYqwCqtWpp0+2rBEOh8bvti3APoK4ECO+XHFTTeEyaZbSuBCByAFRwcO4llN+IgSYQqTttyWgPdsA75zAOE7AbZI=
X-Received: by 2002:a2e:8195:: with SMTP id e21mr9984509ljg.62.1565335342546;
 Fri, 09 Aug 2019 00:22:22 -0700 (PDT)
MIME-Version: 1.0
References: <CAJHtznz+vMtytUxnf73L474TcDUqsZpTHLTnhHL4E53CCQdibA@mail.gmail.com>
 <CAF+90c-5CeZfyo2zBeoM63NDK-j2h6WTjvdT-yiKy040wVUm-w@mail.gmail.com> <CAJHtznzFSP4u7HggZPmyi27ejUie6x+kUytvTCd+WTpsKwFwag@mail.gmail.com>
In-Reply-To: <CAJHtznzFSP4u7HggZPmyi27ejUie6x+kUytvTCd+WTpsKwFwag@mail.gmail.com>
Date: Fri, 9 Aug 2019 09:22:06 +0200
Message-ID: <CAF+90c8Ws-Ap2Ztw87gBS3bn_dKq+c+eNtAL90SCgqWhwsJCwA@mail.gmail.com>
To: Zeev Suraski <zeev@php.net>
Cc: Internals <internals@lists.php.net>
Content-Type: multipart/alternative; boundary="0000000000000c03aa058faa0979"
Subject: Re: [PHP-DEV] Bringing Peace to the Galaxy
From: nikita.ppv@gmail.com (Nikita Popov)

--0000000000000c03aa058faa0979
Content-Type: text/plain; charset="UTF-8"

On Thu, Aug 8, 2019 at 11:25 PM Zeev Suraski <zeev@php.net> wrote:

>
>
> On Fri, Aug 9, 2019 at 12:02 AM Nikita Popov <nikita.ppv@gmail.com> wrote:
>
>> This is basically what I have been advocating for a while now already,
>> somewhat hidden between all the other noise of the "namespace-scoped
>> declares" thread. The model I would like to follow are Rust editions (
>> https://doc.rust-lang.org/edition-guide/editions/index.html). In PHP
>> right now, the way to do this technically would be based on a
>> declare(edition=2020) in every file. I was hoping to make this a
>> per-package declaration instead, but haven't found the perfect way to do
>> this right now.
>>
>
> I think it's similar, but not quite the same, at least as far as what I
> understood from what you were saying on that thread (I just reread it).
> First, I think it's important we don't only focus on what we're going to
> change - but also on what we're going to keep.  The motivation should not
> be slow eventual migration from one codebase to another.  We would have
> two, long-term supported codebases - a lot closer to C and C++ than to
> different editions of a single language.  The distance between them would
> be quite substantial from the get-go - and will likely grow farther as time
> goes by, similarly to the situation with C and C++.
>

I think this part is unrealistic from a simple manpower perspective. We
have something like ~2 full time developers working on PHP. Even if you can
rally some additional interest around this idea, I don't think we have the
resources to create a *substantially* different language in any reasonable
amount of time. Doing feature additions and changes to PHP is Hard. Even
simple changes require a fair bit of design and engineering effort to
integrate with the large complexity of the existing language. This would
not change for a hypothetical P++, because we still need to interoperate
with PHP.

Even if I agreed with the idea (which I'm pretty skeptical about in this
particular form), I really don't think we have the resources to do
something like this.

Nikita



> Also - I think that we should do our very best to get this "P++" right the
> first time, as opposed to iterate on it and release editions that provide a
> steady stream of change and breakage.  Of course - we can add new features
> and evolve existing ones - but this should be a lot more similar to the
> mini versions / feature releases we currently have.
>
> It's certainly similar in concept, but not quite the same.
>
> Zeev
>
>
>

--0000000000000c03aa058faa0979--