Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106488 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 18132 invoked from network); 9 Aug 2019 15:16:12 -0000 Received: from unknown (HELO mail-ot1-f45.google.com) (209.85.210.45) by pb1.pair.com with SMTP; 9 Aug 2019 15:16:12 -0000 Received: by mail-ot1-f45.google.com with SMTP id l15so74786527oth.7 for ; Fri, 09 Aug 2019 05:43:36 -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=rXiwqj6jtn1MW0jhB+I9jFp1EQYtOzmawiUuQmtrlGo=; b=SId/YZ20LTYFmF40VnYdKa/5Joshu25n7codWVpLOqcM/9KBiWbfo4DVOsEgOqee1l XpR0PTY2PIvCEDQJIPql3lzCg/l8DAAYruDiKoj8DvA+Fiyp7V9rAZSu2DWNl153NpAN hdXkjYeAKZurdUlFc5izwyyFIbzBrzoUWMhsAhFgh40Xumuzs5OV9L5b+d44iA56ACrq LH5EpjvdEJMY9iGFV8TVSHbU9CpVd6emsl//7/S5yMgwPm/bOzeSb6DRMJwlyESGiJTn BpQn4g1PuZePdrGSwYe5l7ltKHNX1kCKwN/Qj7a+F73iZvLA2gTygs0qaw7b473DQRnq DEDA== 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=rXiwqj6jtn1MW0jhB+I9jFp1EQYtOzmawiUuQmtrlGo=; b=AltRxkjpyriRUG2OAwtyqcxSS24BNbE2lMbb+3en+wTDRpf20Bv37FzF2fW9yU393w xGPmUupjzr1RVNbxq4HwRg0MHjzV8PCPl3poypInA6OWAOKizC/n7Hx4pVI5Y028lIev 9apomGKbSQ0e8+yZwEff29egozZMCa1IG4ZRlrFvcpYoF9QyIk6SMCX6zDKECrq3ooOX utvt0nroiZx9Jcq4/bdoBD3B8Ovwhf5YxbZ1e1xTsK+kbsyYqUI3GHLvCHdR+CJAR8Zh nv3S3/TG8aaMkjKjbuOFNGqBxBK3PUxzwxqKSycOnDa6Q4VBzCcFlFlJsLIbYlhfu9M1 X01A== X-Gm-Message-State: APjAAAVkyS9Hy3G+ep+43vXcAcrq8AhrN4ZaGwex1Eq6G5hlbbR9kn3m p6pZS/I3Ka1KhVURuzLfPOtUHuFCUqPY5jvzXwE= X-Google-Smtp-Source: APXvYqxlLP3c5VldW7MUmSYba+nJfhIlGrfq25XgVql3QMluglE5zBsLJGc1vBVQn6RtQMzxAYJRu11cnGQzYivKeDU= X-Received: by 2002:aca:cd41:: with SMTP id d62mr2163054oig.78.1565354615761; Fri, 09 Aug 2019 05:43:35 -0700 (PDT) MIME-Version: 1.0 References: <8a95f23e-4145-46ee-ba49-6c24c32c8243@Spark> In-Reply-To: Date: Fri, 9 Aug 2019 14:43:22 +0200 Message-ID: To: Zeev Suraski Cc: Sergey Panteleev , Nikita Popov , Kris Craig , Internals Content-Type: multipart/alternative; boundary="000000000000d1f14d058fae85a9" Subject: Re: [PHP-DEV] Bringing Peace to the Galaxy From: michal.brzuchalski@gmail.com (=?UTF-8?Q?Micha=C5=82_Brzuchalski?=) --000000000000d1f14d058fae85a9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Zeev, pt., 9 sie 2019, 14:23 u=C5=BCytkownik Zeev Suraski napisa= =C5=82: > > > On Fri, Aug 9, 2019 at 11:15 AM Micha=C5=82 Brzuchalski < > michal.brzuchalski@gmail.com> wrote: > >> Hi Sergey, >> >> pt., 9 sie 2019, 09:40 u=C5=BCytkownik Sergey Panteleev > > >> napisa=C5=82: >> >> > As I understand, in P++ it was planned to drop the legacy code, add ne= w >> > functionality and painlessly implement BC. >> > >> > Who wants =E2=80=93 migrates the PHP project in P++, who doesn't =E2= =80=93 continues to >> > use PHP. >> > >> > New projects, for example, will use P++ already. >> > >> > Well, how is this different from the new version of PHP (e.g. PHP 9)? >> > >> > Who wants =E2=80=93 adapts his code for PHP 8/9 with all its BCs, who = doesn't =E2=80=93 >> > continued to use PHP 7/8. >> > >> >> As I understand editions concept it would be far more easy to interopera= te >> with old edition written library than in separate languages like PHP and >> P++. If new edition introduce syntax breaking change it would be still >> possible to to interoperate with old code in old edition and work on a >> project based on new edition. >> > > If we intend to break syntax frequently, then yes. But this is poor > language design. > If we take a couple of years to focus on the fundamentals of what folks > find objectionable about PHP today, and introduce P++ with solutions to > these issues - there's no reason that every new version continues to brea= k > compatibility - certainly not in a substantial manner. We need to focus = on > the painful changes at the first stage, when P++ is introduced - while > keeping other elements - ones which are incremental but do not introduce > compatibility breaks - to a later time (if we don't have the > developer-power to deliver them). > I've got an impression that you're the only one who sees a good direction in splitting the language in two different dialects and am not sure about sincere intentions. I may be wrong about that but I read this as a way to get evolutionary camp focus on own dialect and leave PHP in peace. But I think their interests are in language evolution and not in writing own language. > If we let ourselves off the hook, and do these breakages in stages - > editions are basically a workaround. Yes, editions would allow you to wo= rk > around the fact that your code breaks every time you upgrade - but at a > fundamental level, people are still wasting their time writing and > rewriting and then rewriting once more the same code. Not to mention tha= t > unless I'm missing something, maintaining the implementation for all > different editions would be more complicated than having just two dialect= s. > > Now, it doesn't come to say that P++ will never be able to break > compatibility. We also break compatibility in PHP, in major versions. B= ut > it does mean that something along the lines of moving from dynamic to > static, can't happen further down the line. Changing operator or > type-conversion behavior - has to happen now and not further down the > line. Features such as union types and others - can happen at a later > stage. I don't think there's a need for editions for that purpose, the > versions we have are sufficiently granular. Even more so since this will > likely effect P++ more frequently than PHP - a crowd which appears to hav= e > a much stronger bias for features than for downwards compatibility. > > That way you can end up on for eg PHP8 supporting edition=3D2020 with new >> features which break compatibility but still working with PHP7.4 treated >> perhaps by default as edition=3D2019 in future versions. >> > > I could be wrong, but I don't think that even Nikita thinks we'd have a > new edition every year. > That's just an example. BR, Micha=C5=82 > --000000000000d1f14d058fae85a9--