Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102419 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 91533 invoked from network); 25 Jun 2018 14:27:13 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Jun 2018 14:27:13 -0000 Authentication-Results: pb1.pair.com header.from=php@golemon.com; sender-id=softfail Authentication-Results: pb1.pair.com smtp.mail=php@golemon.com; spf=softfail; sender-id=softfail Received-SPF: softfail (pb1.pair.com: domain golemon.com does not designate 209.85.208.47 as permitted sender) X-PHP-List-Original-Sender: php@golemon.com X-Host-Fingerprint: 209.85.208.47 mail-ed1-f47.google.com Received: from [209.85.208.47] ([209.85.208.47:37474] helo=mail-ed1-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AB/B5-50433-FBBF03B5 for ; Mon, 25 Jun 2018 10:27:12 -0400 Received: by mail-ed1-f47.google.com with SMTP id j25-v6so5562607edr.4 for ; Mon, 25 Jun 2018 07:27:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=golemon-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=koqECE76Z7pBM4uPA6RG89BsE7TElBD/JCIcp69BKx8=; b=dp4+ygFRNjAR81N2bS0ZbTsvy63JAlbNbvrJdImmQe4hVvexWoD9p+Sw1Mq1GyjMN9 3idNK+fRcOknlAFt45tdkYCB7UZXLWeU4cLpBcAWK7B0tOA5vpaWXoM39U+RUJ4j1Len 1M5agFoFPw2bOrihHUDCAa9/Mfu3UTCowZWK+rZKvsM0d9LlbmcMhZmF+9CLv44bZpB5 ZhHW6KQP9evnADMcXEF4lh2nSUJyV5YB4kYL0wqp4jkiik16X/SClKWfjMLhg13qMykI cTOENcRs9j+DRyGhHmS91zbsHo7JSA+kjEvR0FCB6EfSygSPx9hkna4ggIlyHmzwtXkT v0Mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=koqECE76Z7pBM4uPA6RG89BsE7TElBD/JCIcp69BKx8=; b=Wvj/a2kmAc3s2RE1zX7FFBiZWeNeqpmTudT4T51rmXdqb/JOVupoalX7+T4QhAfEaD HHXSXbO+AKiqpiRz/h9LUMn57ArloJ/STxzYTw4pDwu27/8UFkKy6Ftid+sxiqbcQ3U6 tO+xl8h6MhZXKoKzHAbyw3LdLs2xreAgaelEF35WdCZPdzKghsVDFT80/IA3EPlT2MzJ 2oL4zaHvmTs2o/7wrFLM8MgnwMFhysrTO4VTbOPdK6j2uiooIdWrHEWXtMzANzTM3MUt +peaeCElHgvUm7Cq0hIdBkgjanDc+A1aCiMtEUf7+9kE7XB8JHURyCsCyFYLIKj7qRfF J8FQ== X-Gm-Message-State: APt69E2EVmM807wKDIk9rg5/QC4/rw4sKjsBNsSp/MBsCs5Mi2zGxKy9 fog6TvITiyDW825DM0XrZnuSMBUL6XYTyB2Jxw6huGtq7ZI= X-Google-Smtp-Source: ADUXVKLeb0aQ7AB5ewu0lDwiccbSpTPX0ifXra6EpBeWmW4yy+s4x7kUTDSTP3ZBwHodPuW5WmQpYJCbQ86Wf6jcOiQ= X-Received: by 2002:a50:8f23:: with SMTP id 32-v6mr11842032edy.192.1529936828071; Mon, 25 Jun 2018 07:27:08 -0700 (PDT) MIME-Version: 1.0 Sender: php@golemon.com Received: by 2002:a50:8625:0:0:0:0:0 with HTTP; Mon, 25 Jun 2018 07:27:07 -0700 (PDT) X-Originating-IP: [73.210.228.160] In-Reply-To: References: Date: Mon, 25 Jun 2018 09:27:07 -0500 X-Google-Sender-Auth: 80r9DJ0n4JeJKnI0t_3A3hr8XB4 Message-ID: To: Zeev Suraski Cc: internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] PHP 2^3 From: pollita@php.net (Sara Golemon) On Mon, Jun 25, 2018 at 7:30 AM, Zeev Suraski wrote: > As I mentioned a few days ago I intended to send it slightly later - but = as Nikita brought up the topic of PHP 8, this is probably as good a time as= any to start the discussion. > > Please note: The goal of this email isn't to discuss in detail each and = every topic that's mentioned, but rather to establish whether we want to mo= ve to focus on PHP 8 as we go beyond PHP 7.3, based on some of the research= projects and PoCs we've been working on. > With the above paragraph in mind, I would say yes; This laundry list sounds like major bump worthy items. However I'm going to throw some negatives in here and probably start longer threads separately on my concerns with specific items. 1/ Pushing 8.0 as 7.3 + 1 means we're going to rush deprecations into 7.3 which is already in fire-hose mode of last-minute, under-planned "hey I want this toy" requests. Yes, deprecations are a little bit more sweaty ice cube in terms of late deprecations being lower risk that late additions, but it's still turning into a rushed thing during a season when some folks are off on holiday break. The FF is in Summer in part *because* this is a bad time to introduce RFCs. 2/ In several of theses cases we're talking about something that's not even fully scoped out yet. Async, for example, "requires a lot more research". Yes, that research can probably be completed and turned into an implementation in the 1.5 years we have till the Nov 2019 GA (whatever version that ends up being), but there are multiple items on this list which are not (seemingly) fully fleshed out. 3/ When I read phrases like "open the door for new types of workloads for PHP (non Web)", and "one of the key reasons Node is gaining popularity", and " 'bleeding edge' technologies, such as AI and Machine Learning" I smell a trend of chasing the new hotness and worrying about factors other than making PHP the best language for the Web. Growing PHP is great, and evolving it into new areas is also potentially quite good, but we *have* history showing what happens when we come up with something new to chase after that then turns out to be underwhelming, undermaintained, and underutilized. I've also seen what a JIT does in terms of additional complexity, it's not pretty. 4/ When the $(%* did we body swap, because it's not quite full turnabout, but I'm suddenly having flashbacks of "give the language a rest". :) Please don't construe this response as entirely negative. As I said in other replies, I'm actually quite excited about these new things and the directions they open up, and it may be that you and Dimitri have been spending quite a lot of time thinking about them and their implications to the language going forward. However, like the NG branch prior to 7.0, most of this appears to lack any sort of plan for those of us not in your private email threads. Yes, we've discussed all of them at one point or another, but apart from the JIT, there's been no obvious signs of work on any of them, which brings me back to being concerned about 7.3 suddenly being flagged as the last 7.x release within mere DAYS of its planned feature freeze branch date without warning. Possible alternative. Still aim for Nov 2019 GA of 8.0, but have a 7.4 in parallel with it. This (sort of) happened with 4.4 being released between 5.0 and 5.1 (I know, not quite the same). This would give us a couple advantages: 1/ Take our time with these last-minute "deprecate all the things" RFCs that have suddenly popped up. 2/ Have an escape hatch to delay 8.0 till Nov 2020 if implementations for the big stuff aren't quite ready for whatever reason rather than being forced to push them to 9.0 Downsides, obvious: More merges for bugfixes and RM overhead, plus Remi and Stephen's time with Fedora/Win32 builds. We did this for the 5.x-7.x jump, I say we can do it here. -Sara