Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71522 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 41483 invoked from network); 24 Jan 2014 16:59:23 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Jan 2014 16:59:23 -0000 Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.212.47 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 209.85.212.47 mail-vb0-f47.google.com Received: from [209.85.212.47] ([209.85.212.47:48974] helo=mail-vb0-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BF/54-21270-BEB92E25 for ; Fri, 24 Jan 2014 11:59:23 -0500 Received: by mail-vb0-f47.google.com with SMTP id p6so2014389vbe.34 for ; Fri, 24 Jan 2014 08:59:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=0UL1sbD40/FyyyRbc4KYgTp0aBcKXTLyHGhnbdWljok=; b=rRffdlbuqLSbcnBnvJOGVX+Mi0U27r7HU05Rl0MhR7ysrY7arUrpmkHnCGGJWFjYRv yqhaIAuybQ+2DxfssLmaG5eWen0WpIw6JVVhujfX9a/5BVRMTSLd4kK7z88EJjdwRYCe ePpDFjRFjLSqfpzH/TIc+2z+Y1axm11q0u1SwG1ko6nFoWZTci9DXyV1bwTR6ltQwtxO 3H8SrrPcmyy78z7Pg8sGPUSOhiUBnh/OU23hsl/aflGRQgot7VceU6GoOaZcbeVInZXm j7Q2DjrfqRaklUFKtZqMfkCpa6Y+OMlKygEH9DDM+Kya1VhLknbUUjco4pjHsZz7/UgU xOKQ== X-Received: by 10.58.211.130 with SMTP id nc2mr7973144vec.7.1390582760677; Fri, 24 Jan 2014 08:59:20 -0800 (PST) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.220.158.206 with HTTP; Fri, 24 Jan 2014 08:58:40 -0800 (PST) In-Reply-To: <52E299D4.6040102@garfieldtech.com> References: <52E29253.2000801@lsces.co.uk> <52E2924B.6080002@ajf.me> <52E299D4.6040102@garfieldtech.com> Date: Fri, 24 Jan 2014 17:58:40 +0100 X-Google-Sender-Auth: KIoLg0M3LEE3REB2H_k-SLzowZI Message-ID: To: Larry Garfield Cc: PHP Internals Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] Ruminations on PHP 5++ From: jpauli@php.net (Julien Pauli) On Fri, Jan 24, 2014 at 5:50 PM, Larry Garfield wrote: > On 1/24/14 10:31 AM, Julien Pauli wrote: >> >> On Fri, Jan 24, 2014 at 5:18 PM, Andrea Faulds wrote: >>> >>> >>> >>> On 24/01/14 16:18, Lester Caine wrote: >>>> >>>> >>>> Adam Harvey wrote: >>>>> >>>>> >>>>> Adam, who loves starting a good flame war on a Friday. >>>> >>>> >>>> It would perhaps be nice to avoid the same mistakes that Python made >>>> when re-factoring 3.0 and not taking the rest of the user base with >>>> them. The level of breaking of BC needs to be carefully balanced? >>>> And I still think that 5.4 should have been a major hike which would >>>> have allowed a little more flexibility then. >>> >>> >>> >>> There is a lot that PHP's 5/6 transition can learn from Python's 2/3 >>> transition. One might be, IMO, not to backport any new features. >>> Otherwise >>> people will simply keep using 2/5 instead of 3/6, due to the features >>> also >>> being available there. >> >> >> Big +1 , Python 2 to 3 should be taken care of when thinking about PHP5++. >> >> Also, we should remember what we actually did from PHP4 to PHP5. >> We changed the objects management (that was the biggest change), and >> even with a compatibility mode INI settings which was pretty hard to >> develop from an internal POV, it still took AGES for people to migrate >> from 4 to 5, mainly because of "compatibility issues" regarding >> objects, and because of the new error reporting system showing much >> more messages on badly designed code in PHP5 than it did in PHP4. >> >> I wasnt an internal guy at this time, but I still remember 2004 pain. >> Everybody felt enthusiast , PHP 5.0 was a pretty nice product , but it >> took about 5 to 7 years to finally jump to 5.X branch :-p >> Times have changed, PHP and all its ecosystem is nowadays more mature >> than before, but still... >> >> We must not do any mistake for PHP6 , nobody will pardon a mistake. >> Every wrong step or decision could lead to PHP's death , we really >> have to take care of everything. >> >> Julien > > > Coordinating with user-space projects will be critical to avoiding that same > chicken-and-egg problem. It took 100+ projects banding together to declare > "we're mad as hell, and don't give a crap about PHP 4 anymore" to finally > make that transition happen, and that was 3 years after PHP 5.0 was > released. If we want PHP 5++ to have an easier transition period (yes > please!), we need to coordinate that with major projects and frameworks to > make sure that they 1) Can up their requirements in a reasonable timeframe; > 2) Have a good reason to do so; 3) Can all do so around the same time so > that there's no "first mover penalty". That's a mandatory request yes. We make this language for our users, so we absolutely have to listen to them. As usual, we won't be able to satisfy everyone, but we definetly have to listen to our user base. > > That sounds like a good topic for FIG to help with, and I'm happy to act as > a coordinator between Internals and FIG around that. > > I also agree with others who've said that PHP 5++ is the right time to > heavily refactor/rewrite the engine itself, just as was done for PHP 5. Yep, PHP5 was a major rewrite from an internals POV, but still keeping the same PHP4 VM base principles. Rasmus or any guy who participated in such a rewrite could give a word about it. Its > also a place that leaning on HHVM (either for code, or concepts, or > something) would be very valuable. Yup, however, we still have a goal => beeing able to run on any machine, any platform (well, a large part of) I like HHVM, but it is a Facebook product, fitting FaceBook's own needs. PHP is not to be tied to a particular architecture, PHP still has to run everywhere, everytime, and still has to be very extensible. That's what made its glory, and I think we must keep those objectives. That is also what makes developping PHP itself a true challenge, so interesting. Julien