Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65679 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71351 invoked from network); 5 Feb 2013 20:17:11 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Feb 2013 20:17:11 -0000 Authentication-Results: pb1.pair.com header.from=karoly@negyesi.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=karoly@negyesi.net; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain negyesi.net from 209.85.216.54 cause and error) X-PHP-List-Original-Sender: karoly@negyesi.net X-Host-Fingerprint: 209.85.216.54 mail-qa0-f54.google.com Received: from [209.85.216.54] ([209.85.216.54:33552] helo=mail-qa0-f54.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id A8/70-01506-4C861115 for ; Tue, 05 Feb 2013 15:17:10 -0500 Received: by mail-qa0-f54.google.com with SMTP id hg5so326629qab.13 for ; Tue, 05 Feb 2013 12:17:05 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:x-received:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type:x-gm-message-state; bh=7MJrY3X/vt9fppC/QS3Ny+fqsukOShgKIaPts/UFy/4=; b=Qf9sx99Piem60bYF91WDqNVSSQoLaM7elaqyh1rTeFBImfy8Jleyl33rCIk4kmIEH6 nkQKaceI1ev7wzjNS0zestR2sL5Xray1QjhtCWG0aTb8JU/fJAtrRlBedeJ+MPXyYaEa +ER/BkB5ZFutd3Geh2+i9M3NeTlAFskgmU0Y/PFVnAS06J/6sn+aEifbflsmHGy4u+2e 0jOVkZWJt/2NyNKGpB7iKfuN2N1Ey8Ck58fPZUMUS6atKGOWtwM4OhHJF3wkN5PItlxd viECNq/Sgd6XFFwup4Xcc9defr2cAnqdBjlbs0ZLwW5ZEvElL6WiTJESTbpegs2GJQIi YTqg== X-Received: by 10.224.223.80 with SMTP id ij16mr19763115qab.8.1360095425590; Tue, 05 Feb 2013 12:17:05 -0800 (PST) Received: from mail-qa0-f52.google.com (mail-qa0-f52.google.com [209.85.216.52]) by mx.google.com with ESMTPS id ei2sm11513468qab.3.2013.02.05.12.17.03 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 05 Feb 2013 12:17:03 -0800 (PST) Received: by mail-qa0-f52.google.com with SMTP id bs12so328244qab.11 for ; Tue, 05 Feb 2013 12:17:02 -0800 (PST) X-Received: by 10.229.179.72 with SMTP id bp8mr29472qcb.5.1360095422821; Tue, 05 Feb 2013 12:17:02 -0800 (PST) MIME-Version: 1.0 Received: by 10.49.97.65 with HTTP; Tue, 5 Feb 2013 12:16:42 -0800 (PST) In-Reply-To: <5110AFFB.8040303@lerdorf.com> References: <510EBF98.4060900@lerdorf.com> <5110AFFB.8040303@lerdorf.com> Date: Tue, 5 Feb 2013 12:16:42 -0800 Message-ID: To: Rasmus Lerdorf Cc: "internals@lists.php.net" Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQnvizrlAiFHjaBRhpCoO0l4q96IReiSQoq4ONPM9pOg5vgzA1glifIFlNMeX1lhoQjmwbmN Subject: Re: [PHP-DEV] Proposal for serious BC compatibility aka language versioning From: karoly@negyesi.net (Karoly Negyesi) > Yup, so please test it against 5.5 now. Have you done so? It is rather > trivial to do. Grab it from git or there is a tarball at http://qa.php.net >> Let me describe my world. I am working on an open source package. So >> does another 1000 or so developers. And another 10 000 adds modules >> (or maybe you'd call them plugins). I do not even know how many then >> adds custom, site specific code. This whole pile of software forms an Care to explain how am I supposed to test all that against 5.5? Obviously you'd need every project owner doing this but they won't because their hosts are not even on 5.4 so why would they even think of 5.5? (5.4? A lot of people are on 5.2.) > Yes, I would say it is unattainable. You are essentially asking that we > don't make any changes. Where did I say that? > Nothing that could possibly affect existing code > down to and including any potential warning messages even if that code > is obviously incorrect, insecure and/or not doing what the developer > intended. That means no new keywords, no new notices, no bug fixes. What > exactly can we do in a new version then? new keywords is an interesting discussion to have -- it's actually the first real thing to discuss as far as I can see. For example that is something that version strings would tremendously help. You do not need to maintain the whole lot of behaviors for every version just the parser? Also, new keywords typically introduce new syntax. Here's an example, a quick github code search found https://github.com/chriso/klein.php/blob/master/klein.php#L600 this. function yield() is not a valid usage of the new yield keyword nor is yield() so perhaps it's not impossible to accomodate this kind of code? Let's discuss. New error messages could be INI controlled to avoid surprises. Why no bugfixes? Absolutely yes to bugfixes -- once again if a piece was not running before then that running in a new version is breaking *forward* not backwards compatbility. If a bugfix changes behavior, then again, that needs discussion, do you have any good examples? I am not familiar enough with the bugs to say "here's a bugfix which made foo(NULL) return NULL instead of FALSE" or somesuch. Best, Karoly Negyesi