Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:49627 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 21561 invoked from network); 13 Sep 2010 16:46:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 13 Sep 2010 16:46:48 -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:45935] helo=il-mr1.zend.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 64/26-24501-6755E8C4 for ; Mon, 13 Sep 2010 12:46:48 -0400 Received: from il-gw1.zend.com (unknown [10.1.1.21]) by il-mr1.zend.com (Postfix) with ESMTP id 5DE235053C; Mon, 13 Sep 2010 18:44:43 +0200 (IST) Received: from LAP-ZEEV.zend.com ([10.1.2.26]) by il-gw1.zend.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 13 Sep 2010 18:46:43 +0200 Message-ID: <7.0.1.0.2.20100913183427.0d2277d0@zend.com> X-Mailer: QUALCOMM Windows Eudora Version 7.0.1.0 Date: Mon, 13 Sep 2010 18:46:42 +0200 To: Gustavo Lopes Cc: In-Reply-To: References: <4C873C0F.1010200@zend.com> <4C879613.7090709@zend.com> <4C887D2B.2000605@zend.com> <4C8AC526.7000505@sugarcrm.com> <4C8B6168.30504@mohiva.com> <4C8BC81E.8000605@sugarcrm.com> <7.0.1.0.2.20100913145703.0d226d90@zend.com> <7.0.1.0.2.20100913172559.0d2277d0@zend.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-OriginalArrivalTime: 13 Sep 2010 16:46:43.0186 (UTC) FILETIME=[3EDEFD20:01CB5363] Subject: Re: [PHP-DEV] Re: PHP Annotations RFC + Patch From: zeev@zend.com (Zeev Suraski) At 17:51 13/09/2010, Gustavo Lopes wrote: >On Mon, 13 Sep 2010 16:28:47 +0100, Zeev Suraski wrote: >The fact that PHP is not C# or Java doesn't mean we shouldn't look for >useful features in those languages, Right. > so it's not an argument. I think it is very much an argument - the fact a feature is useful in another language doesn't mean it also belongs in PHP (even if it's useful, see below). > What you have >to say is why you think annotations, while possibly making sense in C# or >Java (depending on your position on that), do not make sense in PHP. I'm not and haven't said at any point that annotations aren't useful. They're certainly useful for certain purposes. They also bring about complexity to the language in the form of new language concepts that new users have to learn, new syntax, new classes of bugs, etc.. When I (as well as many others) say that PHP is not Java, it means that our considerations for introducing a feature to the language are different, and what's useful in Java - to the point that it's worth the added complexity - may not be worth it for PHP. Annotations fall in that category, IMHO. I think it's safe to assume that (almost) every feature ever added to any programming language was useful to some degree. That in itself should make it clear that usefulness is certainly not the only criterion for introducing a new feature into a language. Consistency with the language's theme, complexity and compatibility - to name a few - all play major roles too. >I also think you are overestimating the complexity introduced by this >feature. The patch is not particularly complex. We have doubtfully useful >features such as LSB which are more complex not only in implementation, >but also in usage. I wasn't talking about the patch, I was talking about the need of end users to understand yet another new concept and syntax. PHP used to be a language one could pick up over a weekend. I'm happy it didn't stagnate and stay where it was 10 years ago, but considering PHP is already a mature language, I think we should be much more picky in the features we introduce to the language core. Zeev