Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:49334 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19570 invoked from network); 11 Aug 2010 14:13:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 Aug 2010 14:13:19 -0000 Authentication-Results: pb1.pair.com header.from=zeev@zend.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=zeev@zend.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 212.25.124.185 as permitted sender) X-PHP-List-Original-Sender: zeev@zend.com X-Host-Fingerprint: 212.25.124.185 il-mr1.zend.com Received: from [212.25.124.185] ([212.25.124.185:46802] helo=il-mr1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E9/03-01618-BFFA26C4 for ; Wed, 11 Aug 2010 10:13:18 -0400 Received: from il-gw1.zend.com (unknown [10.1.1.21]) by il-mr1.zend.com (Postfix) with ESMTP id 9BB165048E; Wed, 11 Aug 2010 17:12:59 +0300 (IDT) Received: from LAP-ZEEV.zend.com ([10.1.2.20]) by il-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.4675); Wed, 11 Aug 2010 17:13:11 +0300 Message-ID: <7.0.1.0.2.20100811165446.0f024fd0@zend.com> X-Mailer: QUALCOMM Windows Eudora Version 7.0.1.0 Date: Wed, 11 Aug 2010 17:13:10 +0300 To: Cc: Ilia Alshanetsky , Stas Malyshev ,Johannes =?iso-8859-1?Q?Schl=C3=83=C2=BCter?= , Kalle Sommer Nielsen , Internals , Derick Rethans In-Reply-To: References: <1281478269.6608.292.camel@guybrush> <4C61D6FB.6030108@sugarcrm.com> <7.0.1.0.2.20100811085214.0f024300@zend.com> <7.0.1.0.2.20100811140400.0f024ab0@zend.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-OriginalArrivalTime: 11 Aug 2010 14:13:11.0653 (UTC) FILETIME=[54BCD950:01CB395F] Subject: Re: [PHP-DEV] Strict typing (was: Typehints) From: zeev@zend.com (Zeev Suraski) At 15:14 11/08/2010, Richard Quadling wrote: >On 11 August 2010 12:10, Zeev Suraski wrote: > > We need to remove strict typing from trunk before we release anything > > 'official' from php.net > >I thought "trunk" is, to some degree, the "work in progress" / >"developers only", YMMV branch. Pretty much anything/everything in >there is subject to change. No money back guarantees. Etc. Supposedly we switched to this strategy although I'm not sure why, nor I recall any discussion about it - although I may have missed it. We never ever treated HEAD this way in the CVS days. So sure, now it's called 'trunk', but why we should deviate from our decision making processes (as lax as they may be) because we changed version control systems is beyond me. >For an official release, even as a "Here is what we are working on. It >might not be perfect, but we like it" release, a separate branch would >be created. It's really not a matter of branches, trunk or HEAD. It's a matter of what 'php.net' puts its virtual stamp of approval on. If 5.4 alpha 1 came out with strict typing in it, it would send two very strong messages to the PHP community: 1. The next version of PHP is going to be named 5.4 - something that wasn't agreed upon (although personally I don't mind that much). 2. "We think strict typing is a good idea, here, play with it". Well, turns out that the collective 'we' doesn't really think that at all. It's no big news either, it's been known for many months. That goes back to my first paragraph. Personally, I don't like the 'shoot first, ask questions later' approach that we supposedly switched to recently. To me it makes a whole lot more sense to discuss first, and only once a decision is made - go ahead and implement it. Whether we go formal with RFCs or less formal on internals@ (depending on the scope) - either way it's way better than committing first and only then discussing. Once in trunk we suddenly need a great reason to remove it, since trunk is now the new 'status quo'. Thankfully in the case of strict typing there was a strong, clear message from the community 'don't do it', but what about smaller features? 'Shoot first, ask questions later' equates 'bias for change'. Is that where we want to be? IMHO no, we should carefully consider every change we make to the core language at this point in time. Maybe I'm old school, but in my opinion, trunk should only contain agreed-upon features. It should also always build and pass tests successfully. It's not the wild-west version of PHP, it's PHP's next version, in progress. Want to work on something experimental or controversial? Do that in a branch, merge it if & when it gets accepted to the language. Zeev