Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92864 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7086 invoked from network); 28 Apr 2016 09:39:02 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Apr 2016 09:39:02 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.44 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.44 mail-wm0-f44.google.com Received: from [74.125.82.44] ([74.125.82.44:38276] helo=mail-wm0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FB/04-14004-53AD1275 for ; Thu, 28 Apr 2016 05:39:01 -0400 Received: by mail-wm0-f44.google.com with SMTP id g17so31331829wme.1 for ; Thu, 28 Apr 2016 02:39:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to; bh=czQQgFZxyLe8ls5G6HssSCCqd3fv05/22dyaoe8exWs=; b=RN9UU7OUzys7+InZ+Pa8HE85f/J2uacaTCwCoMbxtT5pNbflP5FKtkS+98W3mKzcgV i2CjGPY5CEyyhfBQCulx5RdyJYMS3zHEyqrVGtnR05ZlHJ9sfhQhcxZUcXQFHVRiRnMZ ieOIZGWM+NFCE4GGXwAbXJg7eIHeiDBCcWeL6Dog0v/Tqy8nZBzsL0M2lsVdOsvKNLTq iZGSJd2b0fgpwxIgaGBS3XqBtCWHA+5QeijWrSwX1m0HOplW+oMfVASJRVv2zSsbXYOR je1cRmXqZMzIjFGCs6Cq0eGK7Vp6k/7jbvyfGMtFdW9DRqzSF6orbEJr0txN+xZ2c4i1 vIng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=czQQgFZxyLe8ls5G6HssSCCqd3fv05/22dyaoe8exWs=; b=jswva+K6l5j+/EpRkchIJcmerBDkjV1jXhJ7sXGBXGv3705Rj8Hh8My6CJrZvXiZg6 Lc9FxtwRvY4tx/TMf15YXcSpEAzMznaGxJXEvTOJDWeZNg6ma5U2xMik2siJdLaHCdgf uTqTeMNvgARclF5/7kp4zyujd2ZNH+EpFhzveDzWTwH6FEU6UwVht8ZHhaSilWRLX2uP OU90eiB3iZ4XWYDoQnlkpCUOaB/NGWMQUxGa4ZEHYM8Y71WOtijr7jSVSMj8Pso7Cnsv q2UfWipyK6DPPd94dMgaywzNtVYnJHGZ+Q1D+67jXPJwpGjJva9Rkw8fUmOlLlcW2X3S 3fMQ== X-Gm-Message-State: AOPr4FVqNqMFWg6jyd5E2f5bbKFJBQYjrGP9YhBKQalNknRvAhQfL2CJtSPXU7+npg2KzQ== X-Received: by 10.194.171.66 with SMTP id as2mr14271882wjc.110.1461836338204; Thu, 28 Apr 2016 02:38:58 -0700 (PDT) Received: from [192.168.0.82] ([93.188.182.58]) by smtp.googlemail.com with ESMTPSA id b22sm11231662wmb.9.2016.04.28.02.38.57 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 28 Apr 2016 02:38:57 -0700 (PDT) To: internals@lists.php.net References: <57211D05.6020002@fleshgrinder.com> Message-ID: Date: Thu, 28 Apr 2016 10:36:40 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <57211D05.6020002@fleshgrinder.com> Content-Type: multipart/alternative; boundary="------------A8A4F152CD164A0505514C6D" Subject: Re: [PHP-DEV] [RFC] PHP Annotations VS Attributes From: rowan.collins@gmail.com (Rowan Collins) --------------A8A4F152CD164A0505514C6D Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Fleshgrinder wrote on 27/04/2016 21:11: > I am writing this in a separate thread because of the urgency that I see > regarding the naming of past, current, and future proposals regarding > this functionality. While I personally prefer the name "annotations", I don't see it as particularly urgent, or nearly as clear-cut as you claim. I clicked through on your MSDN link [1] because I was pretty sure .net referred to them as "attributes", and am amused to find sentences like this: > The System.ComponentModel.DataAnnotations namespace contains the classes that are used as data attributes. In other words, the implementer of that particular library preferred the word "annotations", but the language/framework itself calls them "attributes"; here's a nice summary [2]: > For example, the accessibility of a method in a class is specified by decorating it with the /method-modifiers/ |public|, |protected|, |internal|, and |private|. C# enables programmers to invent new kinds of declarative information, called attributes. So, that's one rather large ecosystem that calls them "attributes". Your claims for Perl also don't make much sense: > Last but not least, Perl has/attribute/ support. However, Perl actually > uses it for interaction with*all* attributes that can be set. Hence, > this is what attributes really do. > > http://perldoc.perl.org/attributes.html None of the built-in attributes mentioned in that manual are standard syntax used in the majority of Perl programs; in fact, they are all marked as experimental, and most of the examples are of defining custom attributes. As far as I can see, this is Perl's version of precisely the feature that is being proposed for PHP. I haven't looked through any of your other links to see if you've fallen foul of similar confirmation bias, but am satisfied in my mind that there are plenty of people outside Hack who call them "attributes". [1] https://msdn.microsoft.com/en-us/library/dd901590%28VS.95%29.aspx [2] https://msdn.microsoft.com/en-us/library/aa664611%28v=vs.71%29.aspx Regards, -- Rowan Collins [IMSoP] --------------A8A4F152CD164A0505514C6D--