Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:64820 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98643 invoked from network); 10 Jan 2013 15:02:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jan 2013 15:02:24 -0000 Authentication-Results: pb1.pair.com smtp.mail=florinpatan@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=florinpatan@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.169 as permitted sender) X-PHP-List-Original-Sender: florinpatan@gmail.com X-Host-Fingerprint: 209.85.214.169 mail-ob0-f169.google.com Received: from [209.85.214.169] ([209.85.214.169:46129] helo=mail-ob0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5A/D9-02684-EF7DEE05 for ; Thu, 10 Jan 2013 10:02:23 -0500 Received: by mail-ob0-f169.google.com with SMTP id v19so633997obq.28 for ; Thu, 10 Jan 2013 07:02:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=ESMVCweB7lFnfFIHLQzHs+otFsYoAbfzjsRUS4IP9Zs=; b=ipaQtBKeSTeuf16OZKk9KTxZAlwtyVzVdAs2s2cP0J1eFAFvPAr2FneEBPzanCPR19 S5w3C32lPSTX1yBJIMp4vGTAzwm9V2/4W1PtWvLIWvu9I95Fydi0RwGdzQhLXUn3vrY4 VBjo0ieaCpymqyN9NQlBc5hgAkbcNOF9yIuhgRlC6ck3KFBIGhKHcA2xvT1pcFgMfifn 6FwNm2l5XW8u7KPEXWGA4DjfaN/h9Ojq3r6AgZ79g4nDnalGkmitMbG0chguHpueoI2P 3NTaVzBgB4xHp/ShJAjp53Yko1j2Nb7tusXo8I1q8vp8YrOSRfyXA8MqgqClo5oBhUAa 5Ryw== Received: by 10.182.109.101 with SMTP id hr5mr50822165obb.84.1357830140379; Thu, 10 Jan 2013 07:02:20 -0800 (PST) MIME-Version: 1.0 Received: by 10.76.171.71 with HTTP; Thu, 10 Jan 2013 07:01:50 -0800 (PST) In-Reply-To: References: <50EDBEA5.1050201@sugarcrm.com> <50EDCA83.1050904@lerdorf.com> Date: Thu, 10 Jan 2013 17:01:50 +0200 Message-ID: To: "internals@lists.php.net" Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] Re: Was Reflection annotations reader - We Need A Vision From: florinpatan@gmail.com (Florin Razvan Patan) This could be very well be off-topic but I think it is something that someone has to say it at some point. Don't worry, there's a vision in there, near the end of this, please just have the patience of reading this as a part rant, part wish :) You all speak about new things, better userland code, gaining new features, functionalities, getting a vision but you never speak about the core. There's a clear need for a change in the core but new features are demanded every day... Solving the core should be done with a major BC break after 5.5 and it should improve all the things that need to do be improved while preparing the architecture for future changes/additions. I think that Symfony2 should be a great example of this being a good approach in terms of produced results. If you look at the code it will provide both the cleanness and the flexibility needed to do great things with it yet it allows it so be simple to pick up and learned by new devs. Maybe other projects, including PHP, should take this lesson and see how they can make themselves better even if in the process they'll break all user space. For PHP strictly speaking now, I think that after 5.5 there should be a pause of two-three months for devs, get a holiday or just relax, then, sit with the community at a couple of meetings and talk about how PHP 6, 6.1, 6.2 and so on could/should look like. I'm not saying it's going to be an easy task, nor a pleasant one, but this should be done sooner that later as it's bound to happen at some point imho. While we might not get cool new things like annotations, named parameters or anything else that we, the users of PHP would like, we could get: - better internals which help adding those missing features faster; - make APC easier to maintain if the parser/compiler are easier to interact with; - get consistency in the whole haystack/needle problem :) - possibly get a better extension system so that C extensions are easier to write/maintain; - those missing things faster / easier to implement in PECL; - maybe more :) Redoing PHPs internals would help also getting a vision of the language, that suddenly every one cries about, while getting cleaner code for the core and help to increase the general numbers of core contributors for it. With such a large user base I still find it extremely surprising that php-core is maybe a dozen people or so while projects like Symfony/Zend Framework/Typo3/etc have hundreds of contributors. Yes! We 'need' new cool stuff in PHP, that maybe will be forgotten in two-three years or not, we find new ways to make the userland code more easy to write, operate, read and above all faster! But you can't build a 70 story skyscraper on top of a foundation that's meant to support a five story building. If you are going to ask the core devs to accept/do something that you deem cool, why not thinking about doing the things better all-around first, then add the coolness factor later? And yes, annotations are cool but it's' by far a --must-- have or something that gets in the way of developing new ideas to the point where they just can't exist (as proven by Doctrine Common). Have a nice day. ---- Florin Patan / @dlsniper On Thu, Jan 10, 2013 at 3:29 PM, Anthony Ferrara wrote: > Rasmus, > >> Rasmus: "A general purpose scripting language with a focus on web >> > development" >> > You: "being simple and practical and focused on the web" >> > >> > While they both have "web" in them, they provide very different goals and >> > metrics with which to gauge contributions by. And that's the entire point >> > of my call for a single, consistent and official vision... >> >> They don't seem different to me, and the first one is the documented >> statement that has been the first thing people see on http://php.net for >> years and years. You can add "simple and practical" to mine or add >> "general purpose" to the Stas one and it doesn't conflict in any way. >> > > There's a difference between a byline and a vision. But even deeper, the > "vision" that you wrote widens the scope of PHP development into basically > all possible directions, as long as Web Development is a focus. > > Stas's vision on the other hand narrows the scope quite significantly by > focusing on simple and practical implementations. > > Here's an example of the difference. Let's say that an RFC came out to > introducelist comprehentions PHP. According to your vision, that's > completely on the table and is welcome. But Stas's stated vision would > counter that because it's not "simple". > > And Stas's stated vision leads to things like this: > http://news.ycombinator.com/item?id=5034365 It is trivial to misinterpret > (or perhaps not so mis) it as "we can't do anything complex, because think > of the new people". > > What I'm proposing here is a stated vision that clarifies and sets a > reasonably narrow vision for what development should do. I'm not saying it > needs to be a 100% "we can do this but never that", but something to guide > progress rather than the random thoughts of the people who just so happen > be reading the discussion at the time. > > Something like: http://www.python.org/dev/peps/pep-0020/ > > Something to guide discussion that's applicable primarily to PHP... > > Anthony