Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106457 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 36414 invoked from network); 8 Aug 2019 23:58:02 -0000 Received: from unknown (HELO tbjjbihbhebb.turbo-smtp.net) (199.187.174.11) by pb1.pair.com with SMTP; 8 Aug 2019 23:58:02 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=php.net; s=turbo-smtp; x=1565904316; h=DomainKey-Signature:Received: Received:MIME-Version:References:In-Reply-To:From:Date: Message-ID:Subject:To:Cc:Content-Type; bh=mNcGHNbi+snXTZxOnpOFFi 5/b0MEYksK2afBTE4rQbw=; b=CMrnYR76S+v9dAC/t6bx4fnGPX2sR4QyV8qrco FHN1e269vLlir91ql5m/BYkJDd5iS5LK8ZIVV7J+Stw48U+YU04voHPtHCj6nqlf ZRCb62iWy2KTphuftbm0JP05FM5kaCA3NtnDTyuLehVYvjQ+RhEzbeq+SsQ3+wq2 T/vOs= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=turbo-smtp; d=php.net; h=Received:Received:X-TurboSMTP-Tracking:X-Gm-Message-State:X-Google-Smtp-Source:X-Received:MIME-Version:References:In-Reply-To:From:Date:X-Gmail-Original-Message-Id:Message-ID:Subject:To:Cc:Content-Type; b=NnvwT4R1nH7eVXURH13ZfVxVNh3SuQ2biXw+G09sU4EnEVX2SnpdFIKcM1t3Q/ Dt1Fye/3kLyeqMGdPFEfs8VFbZ1al9k7u8dbt0hJjUBCoOfbwSX+bsSI1yqrtF37 OeAmJjZ/72Lhf3NCOo6Es9CZqBjjgi7Py7lyFrL+nkd5E=; Received: (qmail 7001 invoked from network); 8 Aug 2019 21:25:16 -0000 Received: X-TurboSMTP-Tracking: 5212359266 X-Gm-Message-State: APjAAAWdqPfCMXd1nE8h/rPUBl3QcUh6kRwTbWndP9gJCaj0EW9h2+i5 nqMavs4qXE3Wd2goupiyyLCuZer0wC/lK1oGY7c= X-Google-Smtp-Source: APXvYqz3IOmlZX5GTohbA07n/IFc6H3nWCBfhrDB2M5J2KRmL4O9Z4fX9dWPpsBvQ6lDtQCQCcpHSp/J9HV7rb86ePA= X-Received: by 2002:ac8:6683:: with SMTP id d3mr15009131qtp.86.1565299515941; Thu, 08 Aug 2019 14:25:15 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 9 Aug 2019 00:25:05 +0300 X-Gmail-Original-Message-Id: Message-ID: To: Nikita Popov Cc: Internals Content-Type: multipart/alternative; boundary="0000000000009d6778058fa1b11b" Subject: Re: [PHP-DEV] Bringing Peace to the Galaxy From: zeev@php.net (Zeev Suraski) --0000000000009d6778058fa1b11b Content-Type: text/plain; charset="UTF-8" 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++. 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 --0000000000009d6778058fa1b11b--