Re: A remark about PHP's Vision and new things.

From: Date: Fri, 11 Jan 2013 15:32:09 +0000
Subject: Re: A remark about PHP's Vision and new things.
References: 1 2 3 4 5 6  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
It's a pretty decent read, but the major point that his article about the virtues of C misses a huge mark.  Software written in C, when they become of sufficient size become completely impossible to keep track of.

A function that is related to a zend_function struct could be placed anywhere, in any file and can be named in any way.  Finding it is like looking for a needle in a haystack, then you add macros.

When I first started with working with the php-core I was doing everything wrong because it's a big mess, that's what happens with C, it has no organization requirements whatsoever and unless everyone who is working on the project is highly organized in the same fashion it will become a disorganized mess.

Sure, C++ adds a lot of things that *can* overly complicate things but at the very least it requires organization, something that most projects sorely need.

Even so, C++ is not the only object oriented language out there.

-Clint

On 1/11/2013 12:35 AM, Pierre Joye wrote:
No. C++ is horrible. Very good read: http://damienkatz.net/2013/01/the_unreasonable_effectiveness_of_c.html On Jan 11, 2013 5:06 AM, "Clint Priest" <[email protected]> wrote:
Oooh, a rewrite? Can we write it in an object oriented language this time? Please? Pretty Please??? :D On 1/10/2013 9:49 PM, [email protected] wrote: Stas, I totally agree and Pierrick and I faced all these problems during the creation of patch. If PHP doesn't all have support required for a given feature, let's just not only discuss feature, but also the required support too. Named parameters is a great example. I'd also name another one, ReflectionNamespace; namespaces are converted to strings and attached to their classes during compile time and you can never reflect over them to grab for example their names. I even mentioned to Andi back in 2010 that ZE gets re-written every 5 years. That happened in 2000, 2005 and we're now hitting walls because of "monster" changes required to implement feature A or B. Maybe it's time to consider a rewrite again? Cheers, On Thu, Jan 10, 2013 at 3:36 PM, Stas Malyshev <[email protected]> <[email protected]>wrote: Hi! I strongly suggest to anyone following the (too many) threads about annotations to try the C# annotation and see what it allows. It goes As far as I can see, C# annotations rely on two very important things: 1. Compiler support. Compiler really knows a lot about what annotations do. 2. Extensive library support. Annotations themselves are just passive metadata, what makes them work is .net framework that uses them. This means to make annotations as useful in PHP we would have to have substantial support in the engine (including bytecode caching provisions, etc.) and some libraries that require very latest-and-greatest version of PHP. Another thing is that we're not having some features that are used extensively in C# annotations, main being named parameters support. I am saying this not to oppose the idea of annotations or the idea of looking into C# and other languages (actually, I think anybody who talks about it should look at least into what C# and Java do with it - and also what Python does, which is completely different direction, just to know other options). I'm just saying porting this to PHP may be less than straightforward. -- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- -Clint
-- -Clint

Thread (21 messages)

« previous php.internals (#64863) next »