Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65600 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42798 invoked from network); 4 Feb 2013 00:46:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 Feb 2013 00:46:19 -0000 Authentication-Results: pb1.pair.com header.from=kris.craig@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=kris.craig@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.178 as permitted sender) X-PHP-List-Original-Sender: kris.craig@gmail.com X-Host-Fingerprint: 74.125.82.178 mail-we0-f178.google.com Received: from [74.125.82.178] ([74.125.82.178:58503] helo=mail-we0-f178.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FF/00-40350-9D40F015 for ; Sun, 03 Feb 2013 19:46:18 -0500 Received: by mail-we0-f178.google.com with SMTP id x48so4636481wey.9 for ; Sun, 03 Feb 2013 16:46:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=wbeRSUmx68WaQRTQ+QvASKuGnB2gMMHPzgPJdqY13Rw=; b=t5qczbMoq5bcRL1G0+44wp/6uwpHsF61fdZOEsuSlIdnGfG6Zlm44WZuj4XlA44ym7 tS6LVOfjpFU1pRnxfvL96BFicDFkK01+vVAb8VqePVMCOJBBtRY2TGFz4K5c3F5A6uls W5Lh5Gv7VHhSxeoSLSA9oEstUpVlSgcZHoJTxzEqwglwQLDX4QIJcvuah4avd5Q2OiLc ZhK9WhzmC542Wt8glIWltpBRgIzJg4lm39Qs8vDXOKoXZRP7i+UDK7Aexeks6/8rKDg0 vQbjFYpjAncNojCD7Fl9Yn1WsdHMfBekPJCk5AAUdK10Vrx7NEh35FtcePIijtD0F5xR hy3Q== MIME-Version: 1.0 X-Received: by 10.180.8.197 with SMTP id t5mr6889162wia.27.1359938774354; Sun, 03 Feb 2013 16:46:14 -0800 (PST) Received: by 10.194.177.138 with HTTP; Sun, 3 Feb 2013 16:46:14 -0800 (PST) In-Reply-To: References: <510EBF98.4060900@lerdorf.com> Date: Sun, 3 Feb 2013 16:46:14 -0800 Message-ID: To: Karoly Negyesi Cc: Rasmus Lerdorf , "internals@lists.php.net" Content-Type: multipart/alternative; boundary=f46d044282408fca7d04d4db6b67 Subject: Re: [PHP-DEV] Proposal for serious BC compatibility aka language versioning From: kris.craig@gmail.com (Kris Craig) --f46d044282408fca7d04d4db6b67 Content-Type: text/plain; charset=ISO-8859-1 On Sun, Feb 3, 2013 at 1:48 PM, Karoly Negyesi wrote: > > We do not consider a change [...] a BC break > > Let me help: backwards compatibility means a host can upgrade a > package without inducing a lot of support tickets. > > Best, > > Karoly Negyesi > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > As Rasmus already pointed out, 100% backwards compatibility is simply unrealistic. You would also be hard-pressed to find any scripting language out there that puts as much focus on maintaining BC as PHP does. Personally, I think we worry about it a little too much when it comes to major version changes. If you write your code to be scalable and have at least some sliver of forward compatibility, then minor changes like notices and warnings should not cause your codebase to blow up in your face. If they are causing that and fixing it would require "a lot of support tickets," as you put it, then I think the problem is with your code, not PHP. You should always anticipate possible changes in the language when writing your code if you plan on upgrading to the latest versions of the language. There is a simple solution for maintaining 100% BC: Don't upgrade PHP. Same goes for Perl, Python, Java, etc. If your code isn't forward compatible, just target it to the version it was written for and you're good to go. If you want people to be able to upgrade PHP, then you have to do your part by making your code scalable at least to a reasonable degree. I think we already do more than our part with how careful we are about behavioral changes in minor version increments. I also agree that different tags for different versions is just impractical and represents a maintenance nightmare. But if you really want to go forward with your suggestion, write an RFC to be voted on. I'd be happy to publish it to the wiki on your behalf, though I won't be voting for it. --Kris --f46d044282408fca7d04d4db6b67--