Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:64823 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25430 invoked from network); 10 Jan 2013 20:16:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jan 2013 20:16:27 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@sugarcrm.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@sugarcrm.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain sugarcrm.com designates 67.192.241.173 as permitted sender) X-PHP-List-Original-Sender: smalyshev@sugarcrm.com X-Host-Fingerprint: 67.192.241.173 smtp173.dfw.emailsrvr.com Linux 2.6 Received: from [67.192.241.173] ([67.192.241.173:54869] helo=smtp173.dfw.emailsrvr.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B6/4D-02684-9912FE05 for ; Thu, 10 Jan 2013 15:16:25 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp17.relay.dfw1a.emailsrvr.com (SMTP Server) with ESMTP id 39D5F188351; Thu, 10 Jan 2013 15:16:22 -0500 (EST) X-Virus-Scanned: OK Received: by smtp17.relay.dfw1a.emailsrvr.com (Authenticated sender: smalyshev-AT-sugarcrm.com) with ESMTPSA id D042D188149; Thu, 10 Jan 2013 15:16:21 -0500 (EST) Message-ID: <50EF2195.3080907@sugarcrm.com> Date: Thu, 10 Jan 2013 12:16:21 -0800 Organization: SugarCRM User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 MIME-Version: 1.0 To: Anthony Ferrara CC: "internals@lists.php.net" References: <50EDBEA5.1050201@sugarcrm.com> <50EE5DAF.2080901@sugarcrm.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: Was Reflection annotations reader - We Need A Vision From: smalyshev@sugarcrm.com (Stas Malyshev) Hi! > Sure. Here you go. Here are two examples: > > http://www.python.org/dev/peps/pep-0020/ This is a nice text, but practical meaning of it is kind of unclear. Even then, applying it to what we have now with annotations, I can see they violate at least #1, #2, #3, #5 and #7 :) And possibly #17 too :) Now, I'm not saying we need to accept exactly such rules, and I see how you may disagree with my application of it - but that's exactly my point. I do not see how having something like this would improve what you want to improve. Perl one is more practical, but it is a statement of opinion - even though very influential one of a very smart man. Would you be willing to accept such statement if it says something that you personally disagree with? And out of many different opinion, how we choose one that deserves to be "official", making all other ones "officially wrong"? > Not so minor correction: *It's about what is a good fit for PHP and what > is not* should be *It's about what I believe is a good fit for PHP and You really need an explicit note that I express my opinion? Of course it's mine, whose else opinion could I express? > what is not*. You are not a BDFL. And we don't have a unified vision Neither are you. Yet I am not telling people to shut up, and you are. Curious. > that we can measure things against. Therefore, there is no such thing as > a "good fit for PHP" outside our own personal opinions. It may seem like I believe there is. Each language has a philosophy and internal coherence, or at least it should strive to have it. In fact, PHP is frequently criticized for being lacking on this front, and we do not have anything written down formally, but I think it still exists. Moreover, if it does not, and PHP is nothing but a hodgepodge of somewhat useful tools without any coherent thought and system behind them - it would be very bad for PHP project. And if it does exist, then there are things which align with it, and there are things which do not. > I'm not saying not to express that you think the direction is wrong. > What I'm saying is to express it in a better way than "PHP is not Java" > and "I don't ever want to see this". Those are terminal statements. I made kilobytes if not megabytes of comments on this topic for the past years. So if you try to latch on one phrase which was a part of bigger response and make it sound as if I never explained what I mean and nobody else did the same, repeatedly, over the years - this is just wrong. I did explain and I keep explaining it. You may not agree but please do not make it sound as if I only actually said what I mean instead of droning on with "PHP is not Java", maybe then you could understand it... I said it many times - the syntax proposed is very complex and hardly comprehensible, it creates a separate sub-language inside PHP incompatible with what the rest of PHP is doing, it is not readable and it is helpful only in very small subset of PHP uses. I am not opposed to the idea in general, but I am opposed to the level of complexity - both syntactical and conceptual - it currently involves. > Instead, if you said "This feature seems to me to be overly complex, and > that the implementation gains nothing for that complexity", then people > may learn your point of view. And they may be able to show you the I said this many times. People just dismiss it saying "baloney, my ORM needs exactly this level of complexity, and you just don't know first thing about what real men do with real code". And then come back with even more complex design. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227