Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106472 Return-Path: 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 ; 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: In-Reply-To: Date: Fri, 9 Aug 2019 09:22:06 +0200 Message-ID: To: Zeev Suraski Cc: Internals 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 wrote: > > > On Fri, Aug 9, 2019 at 12:02 AM Nikita Popov 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--