Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92483 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 13432 invoked from network); 19 Apr 2016 18:43:11 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Apr 2016 18:43:11 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.192.175 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.192.175 mail-pf0-f175.google.com Received: from [209.85.192.175] ([209.85.192.175:33353] helo=mail-pf0-f175.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 54/84-22821-E3C76175 for ; Tue, 19 Apr 2016 14:43:11 -0400 Received: by mail-pf0-f175.google.com with SMTP id 184so9476594pff.0 for ; Tue, 19 Apr 2016 11:43:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:references:from:to:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=tDqf7tbyYqFQ0oNtLLsuhoGYuDF47SocApo7Fx+/IFk=; b=a6nPekSsj77oNQ0eHodQwhubdghcxK4WJFzcbYUvsE4YTM+GVESzFHB53pDc5LBS8/ spJtorLNICg3s+KE+Qq3MG3UDSJyRMODfAJdg0NxDHhgOt0oVg5fdht9+obypl/58ZQP HF3Jc3lhQRsE33xYRLNpbgvW7+0a4JTc6G9SCagFZexb3D1YwFU6ucLLt7d+Yfjyiic1 YYd+5EHP/eVvtoiEH6cVavMH4UursGs7UZe8RBabjPAVBm73BCPqOtc62yyh040ux/y3 pD+5ytuSx9EinE05PxldJAVGr7yMi7dFIZngyRwa0LJ2WKizrDuoklP1vDvp/bnYcb/X VD+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:references:from:to:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=tDqf7tbyYqFQ0oNtLLsuhoGYuDF47SocApo7Fx+/IFk=; b=OalMJ5eNbF7ZQDrDHs2u/ccJx3DSdQlxNU3GLH5d1o1eXOKcs9AS0fHqCmC9PVTaGi Z3Nm3DlAersNksGOaxLk3Pq9iahOg+BbNHXQX7Snvpdyqg+nOQShlc6ouAj/xXXJWift oAEq+NDqOhy2tRdGPTfegPkWD7nRdtX7/TPvMVhR7VlNWBd9he7tX8KRAvCnt5j88a57 fGNh6ezUdzzGc6mVfoq0ttrIPv3n6j3ER47K0l6Tub5DJJecn1ptmYYq/FI6RvQ0pQiX ZCdDENjD96Tu06ejmwvJQVNE4lc50srSCEG/zPgN2H5L4PSJAF+NonM5vO/BNiNw357y AWlQ== X-Gm-Message-State: AOPr4FWuGYpm7u7DGJV62MtimUV7lF4gwgwOMAaG86lYkV1ruTR8rlLyzSEfT+tH0rY2Sw== X-Received: by 10.98.76.194 with SMTP id e63mr6165364pfj.63.1461091388017; Tue, 19 Apr 2016 11:43:08 -0700 (PDT) Received: from Stas-Air.local (76-220-46-95.lightspeed.sntcca.sbcglobal.net. [76.220.46.95]) by smtp.gmail.com with ESMTPSA id 9sm92578438pfm.10.2016.04.19.11.43.05 for (version=TLSv1/SSLv3 cipher=OTHER); Tue, 19 Apr 2016 11:43:06 -0700 (PDT) References: <570E99AC.3090804@fleshgrinder.com> <570EA5EB.8090501@fleshgrinder.com> <570EAB0D.6080706@gmail.com> <570EB67E.8010908@garfieldtech.com> <5B147E88-CC0A-4CBC-A49D-C7FE3BF557C0@zend.com> <6F.C3.12455.94C5F075@pb1.pair.com> <20160414094440.GF19347@phcomp.co.uk> <570FD94F.90703@fleshgrinder.com> <570FE8A9.4020809@gmail.com> <20.53.29891.17401175@pb1.pair.com> <57110BCD.5030009@garfieldtech.com> <571124C2.9040606@gmx.de> <57112F31.8070209@garfieldtech.com> To: "internals@lists.php.net" Message-ID: <57167C35.8080601@gmail.com> Date: Tue, 19 Apr 2016 11:43:01 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: Improving PHP's type system From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > Creating a generic feature that makes sense in a handful of > situations, while at the same time being one that's > waiting-to-be-abused in the vast majority of the rest (or as Tom put > it, a 'footgun') is a pretty poor bargain IMHO. Completely agree with Zeev here. It also seems to me that some measure of support for these features comes from the "coolness factor" - look, ma, we have complex types, just like those cool academic languages everybody is excited about! And I don't deny the importance of language having some coolness factor and getting people excited, but in this case I think it's a bit misplaced - in *PHP*, I believe, most of the use for this feature would be to hide lazy design and take shortcuts that should not be taken, instead of developing robust and powerful type system. Now, PHP's origins are not exactly in "powerful type system" world, so it's fine if some people feel not comfortable with this rigidity and having to declare tons of interfaces, and so on. This is fine. But inserting shortcuts in the system to make it "strict, but not strict" seems wrong to me. -- Stas Malyshev smalyshev@gmail.com