On 20/08/12 21:43, Lars Schultz wrote:
Am 20.08.2012 19:43, schrieb Sebastian Krebs:
What I don't understand is, why should every function goes directly into
the core, if you can achieve exactly the same without core changes?

This comment from Sebastian got me thinking. It's true. Every-someone has his own views on what is absolutely necessary and should be available to every-one. Depending on ones coding style, it probably is absolutely necessary.

Whenever a userland implementation is viable, it becomes a strong argument against embedding it within the core.
It's a ridiculous argument, IMO. Nothing you could add to core couldn't be implemented in userland code somehow. (yes, that's hyperbole, but there is very often a userland solution. Most functions are for convenience)

Adding functions is important for convenience as well as functionality. Sure, it would be nice to have a small set of functions, but those lead to overly verbose code and waste the time of developers. Yes, many of them can be easily implemented in userland, but consider this: what if half (say) of the array or string functions didn't exist and you had to manually implement each? A little code can quickly become a lot to do a lot of simple things.

That said, not every possible function has a compelling case for addition, simply because it does something too obscure or is impractical.

But those suggestions keep coming up and some create more than a little controversy among the contributors to the list and even among the core-developers. That said:

Why dont we embed a library of userland code right there in the documentation, next to the core code, where a php-user would expect or look for the functionality. They'd have to be properly highlighted as userland implementations of course but would still be there to be found in the documentation. This would at least solve the problem of:

- "horrible" implementations, replaced by neatly formed official userland solutions.
- performance (because they would be as efficient as possible)
- correctness (because discussed on the internals (or docs) list, almost as if it'd go into the core) - skill (because everyone can provide a solution, even if he's not able to write c-code) - availability (because with a simple copy/paste-action I can use the provided (currently) official solution immediately.

It sounds a lot like PEAR, I guess...but I wouldn't consider PEAR a source for a userland implementation of, say, array_remove or print_r_html. Also its alot more accessible and available than PECL, because it is after all just PHP code.

I am not sure wether this is a good idea, but it struck me as a better solution than just saying: it's so simple, do it yourself.




--
Andrew Faulds
http://ajf.me/


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to