Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:81984 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7113 invoked from network); 5 Feb 2015 23:57:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Feb 2015 23:57:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=andi@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=andi@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 209.85.216.173 as permitted sender) X-PHP-List-Original-Sender: andi@zend.com X-Host-Fingerprint: 209.85.216.173 mail-qc0-f173.google.com Received: from [209.85.216.173] ([209.85.216.173:36447] helo=mail-qc0-f173.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FB/35-17766-48304D45 for ; Thu, 05 Feb 2015 18:57:57 -0500 Received: by mail-qc0-f173.google.com with SMTP id m20so9203124qcx.4 for ; Thu, 05 Feb 2015 15:57:53 -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=KmDIC/g7xz+okVyi9jweU9bdP0/tWlkxaf3uYGCtu84=; b=AEw5UgfBE0yQsxjsaiXxO31izXKr5U93qU6J9Stkt5C2bV8SKnMiMVJjt9emRg/LHE xUXG+inyF40gho/5yRmL1kpDuOxeWvfUjKS79NPGDch4pU3bYVUIGPTU2MFedPWKKcGS 9K8nJeX5HQqu8ONowoe0qKwSmHLji+WyuDV6FFiLn7QCjuuGYf1K1vd8RA9GN2y5WltX igND1oI8veDSH1Md3K/2kRbNdNqIkwP6Q7poGhUrf1YNdbfkE3+lWO/oP1eLzF3SOfYm ilG0ldU3eF/IWE47jB7NCcY0oj/LnP10uophduw63k7A7gEkrjZr8delkVvVJSkcbGed I1LQ== X-Gm-Message-State: ALoCoQkb6x2+uU+S0eSCWquHjW67wlIc/u1glEqbDCxBULnEOgiPhPosxiRrYgutK7N4fW3c7YpdkJE3E3X5Q7/GjRvgTNN5Y9MPaqYcLf7rZDkNspsiSBAQqF8ZUZEcpOj1/F1pO9lKZMSB2B29lHVF7OkRxmh4hg== MIME-Version: 1.0 X-Received: by 10.224.61.203 with SMTP id u11mr1774641qah.33.1423180671959; Thu, 05 Feb 2015 15:57:51 -0800 (PST) Received: by 10.140.83.211 with HTTP; Thu, 5 Feb 2015 15:57:51 -0800 (PST) In-Reply-To: References: <8703B53E-2C4A-4AC6-95C4-D4F19C6D5221@ajf.me> Date: Thu, 5 Feb 2015 15:57:51 -0800 Message-ID: To: Andrea Faulds Cc: PHP Internals Content-Type: multipart/alternative; boundary=089e0149cf1e675d14050e6012b3 Subject: Re: [PHP-DEV] [VOTE] Scalar Type Hints From: andi@zend.com (Andi Gutmans) --089e0149cf1e675d14050e6012b3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable The folks who really want all this great strict typing should head over to Oracle.com and download free open-source Java? I hear it's got a lot of strict typing features in it. Only downside is that it'll take them 10x longer to complete their projects. OK sorry. Had to say that :) I realize it's not the same... Andrea, while I don't agree with what you say I accept it. *But* exactly for the reasons you state (the big divide) we should also have a weak type hinting option to vote for in parallel. If you feel morally unable to do that then I can copy your work and just have another RFC running in parallel but I think that would do a disservice to the good work you've done. Andi On Thu, Feb 5, 2015 at 3:47 PM, Andrea Faulds wrote: > Hi Andi, > > > On 5 Feb 2015, at 23:22, Andi Gutmans wrote: > > > > I have to say I=E2=80=99m pretty disappointed at the opening of the vot= e. > > We had a pretty good RFC (thank you) for weak type hinting which was > aligned with the spirit of PHP and everyone was able to rally around it. > > This is far from true. Some people on internals were happy, but only some= , > and everywhere outside internals I looked, the reception was far more > negative. > > > This has now been morphed into something very hard to swallow and IMO > having such a declare(=E2=80=A6) syntax will be ridiculed by the broader = app dev > community until the end of time=E2=80=A6 > > Nobody mocks Perl or JS for use strict. > > > But even that syntax aside (it=E2=80=99s only syntax after all), I thin= k we lost > the ability to reach consensus on something so important to everyone whic= h > we haven=E2=80=99t been able to come to agreement on for over 10 years. F= inally it > was there, in reach and you made a 180 degree turn. > > =E2=80=9CConsensus=E2=80=9D is exaggerated. There was no consensus and to= claim there was > is to ignore the reality that the PHP community is divided over this issu= e. > I=E2=80=99d love to say that everyone loves weak type hints and if that v= ersion had > passed we=E2=80=99d all be dancing around happy holding hands, but the re= ception > was not uniformly positive, not even close, and that=E2=80=99s just on in= ternals. > > > I think it=E2=80=99d be so much easier for us to implement weak type hi= nting. > Have everyone rally around it. Be happy and then learn and see whether an > additional mechanism is really necessary. > > Who=E2=80=99d be happy? I realise you and Zeev are big fans of weak types= , as are > many others, but there are also a lot of PHP developers who vehemently > disagree with you. > > > We could even add an E_STRICT_TYPES error_reporting flag to help folks > =E2=80=9Cdebug=E2=80=9D their code if they so wish to see if there are an= y hotspots in > their code they may want to take a look at - again not necessarily an err= or > but maybe a debugging tool. > > Global error handlers affect all code the interpreter runs, which is why > we=E2=80=99ve looked down on them in recent times. > > > But net, net - why not just implement the thing everyone can agree on. > > Everyone doesn=E2=80=99t agree on it. > > If everyone did agree on it, v0.1 of the RFC would have been the one that > went to vote. > > > Have something really good in the spirit of the PHP Language for PHP 7 > and learn how people leverage that=E2=80=A6 The reality is that for the m= ajority of > the Web community =E2=80=9C1=E2=80=9D coming in from HTTP should be accep= ted as a 1. Period. > > It=E2=80=99s very well and good you claiming that the =E2=80=9Cmajority= =E2=80=9D agree, but this > does not match my experiences. The PHP community is not a single, > homogenous entity. It is very difficult to judge. > > > I voted =E2=80=9Cno=E2=80=9D but I will vote =E2=80=9Cyes=E2=80=9D for = the competing RFC which is 80% of > your RFC. Why are we not given that option?????? > > Because I cannot in good conscience push through something in the name of > =E2=80=9Cconsensus=E2=80=9D which does not even approach it. > > -- > Andrea Faulds > http://ajf.me/ > > > > > --089e0149cf1e675d14050e6012b3--