Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:82046 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57571 invoked from network); 6 Feb 2015 14:40:23 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 6 Feb 2015 14:40:23 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 209.85.220.169 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.220.169 mail-vc0-f169.google.com Received: from [209.85.220.169] ([209.85.220.169:64701] helo=mail-vc0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 86/94-45146-552D4D45 for ; Fri, 06 Feb 2015 09:40:22 -0500 Received: by mail-vc0-f169.google.com with SMTP id hq12so5096406vcb.0 for ; Fri, 06 Feb 2015 06:40:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=4McrLxOO3MP2Gbi46VJuY/4Z55SoTHuE7rkOhcv26Z4=; b=ADoM1WeiZ5B8HRByEScjk5I/MOzFU/OPk4WWzv9cYWmVD655W5N0yJEq+mORSnsn1L Co4egknKhHejFa92uBa7LKdfNdYYSjWw8PdmBsksS6SkkxVetfYp3imI/Rf9O+4VTxNf PDTsFt7O+0RK6Pra0eNivNRNNUyXBNlw+YvmqYYz6rWZnCDWFadX6DMdFAXRwSpoacNv qOqGkSYj8HOyX3tucYXxRhewYHrvzajGd7s4uywIv9NlwFK+gv74sD+3Pks4P7bTKdvn xNoSAKtipUNd/KSDd2rDVoT4pa8jvEUWuRon56AL/Tzt3wyW1TyniE7yJolfHYNeo/vf odRA== X-Gm-Message-State: ALoCoQkE/H6q1s+BHcSsZQwD3MdHnpfxDQtm1uiRHsJSlndtOomDKxxoDqNUGrTlbGjFxA/Fw+EdtnMfdFxcsYfOecy12fMlqNW43Sd/Nn8SjuF9Ha89E3Fwkq1hECZuWtyVWI79LE4tJEOEZTEaZnEbX/ATzY0w0g== MIME-Version: 1.0 X-Received: by 10.220.98.136 with SMTP id q8mr2267480vcn.4.1423233619512; Fri, 06 Feb 2015 06:40:19 -0800 (PST) Received: by 10.52.74.73 with HTTP; Fri, 6 Feb 2015 06:40:19 -0800 (PST) In-Reply-To: <031501d04217$b393bff0$1abb3fd0$@tekwire.net> References: <54D37D41.2030706@hoa-project.net> <54D470FA.6000303@hoa-project.net> <02d301d041f3$0c5f3990$251dacb0$@tekwire.net> <031501d04217$b393bff0$1abb3fd0$@tekwire.net> Date: Fri, 6 Feb 2015 18:40:19 +0400 Message-ID: To: =?UTF-8?Q?Fran=C3=A7ois_Laupretre?= Cc: Yasuo Ohgaki , Pierre Joye , "Ivan Enderlin @ Hoa" , PHP Internals Content-Type: multipart/alternative; boundary=001a11c20e5252eb77050e6c66ca Subject: Re: [PHP-DEV] Design by Contract From: dmitry@zend.com (Dmitry Stogov) --001a11c20e5252eb77050e6c66ca Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable I see your point, and, of course, it makes sense, but it also means that no new PHP7 features might not be used in these frameworks and libraries for a long time. Should we stop add new features in major releases? As I said, according to DbC, I'm not sure if it should be defined on language level. Doc comments or annotations with external tools might be good enough. Thanks. Dmitry. On Fri, Feb 6, 2015 at 5:17 PM, Fran=C3=A7ois Laupretre wrote: > > De : yohgaki@gmail.com [mailto:yohgaki@gmail.com] De la part de Yasuo > Ohgaki > > > Personally, backward compatibility is not too important. > > PHP5 is dead by PHP 7.2 release... This is the reason why. > > It's only 3 years later, only 2 years later after PHP 7.0 release. > > That's where we disagree, as I think it's most important. > > Thinking that PHP 5 is dead in 3 years is extremely na=C3=AFve IMO. You > probably didn't live the PHP 4/5 migration but I guess we won't have more > than 30 % of production servers under PHP 7 in 2018, just due to the dela= ys > of distros, hosting companies, and others. > > Now, suppose you're distributing a library or a framework, like Symfony, > Doctrine, etc. Someone tells you : "Here's the new DbC feature. You can u= se > it but this implies splitting your code to two independent branches and > maintain them in parallel until you have no PHP 5 customer anymore.". Wha= t > do you think you'll do (or won't do) ? > > @Pierre,@Dmitry : you have a better vision than mine on the migration > process. What's your opinion on forcing software developers to maintain t= wo > separate branches ? > > Once again, the conditions in @assert lines ARE PHP code. There's no new > syntax. There is no real difference between writing 'assert()' > and '@assert ', especially if the require/ensure blocks should > contain 'assert' statements only. > > > What I believe is not important to you. I could be wrong. > > It is important. As I may be wrong too. > > Cheers > > Fran=C3=A7ois > > --001a11c20e5252eb77050e6c66ca--