On May 29, 2011, at 2:24 AM, Stas Malyshev wrote:
>> - I immediately had to write an extension to give me access to
>> several missing APIs (clock_gettime() and a number of ncurses
>> functions not implemented in the ncurses extension).
> So the problem with PHP is that it doesn't include support for any
> possible API out of the box. While all other languages out there of
> course do ;)

More a question of I wish these existed:
https://wiki.php.net/rfc/php_native_interface
https://wiki.php.net/rfc/remove_zend_api

>> types not in the original API was just a bonus.) - In general, I have
>> to tiptoe all over everything to avoid getting useless
>> notices/warnings for expected error conditions (such as SIGPIPE on
> This is indeed a serious complaint, PHP tends to be over-verbose and errors 
> are expensive. So far there's no BC-compliant way to fix it has been found. I 
> know, I tried at least 3 times :) We need ideas there.

Offhand I'd say there's no BC-compliant way at all short of providing a second 
set of APIs alongside the old ones. Which, given the naming conventions 
problem, might not be the worst idea, but would definitely be a nightmare in 
terms of consistency.

>> - No threading support.
> Threading in PHP wouldn't work. At least the one like they have in Java. 
> Unless you want to mess with thread synchronization, deadlock resolution and 
> other stuff, which 99.9999% of PHP users don't.

That's fair.

>> No preprocessor. define() makes up for only some of it, closures make
>> up for some more, but still not enough. There are no mature
> Here it may be interesting to note so does pretty much any other language 
> except for C.

True, and I've felt the lack in such languages as well. On the other hand, PHP 
is a bit more C-like then many; I don't feel the need in, for example, Lua.

>> And yes, it does mean an engine rewrite.
> That would be too easy. It also means throwing out most of the existing code 
> and rewriting everything that was done in last 10+ years in PHP. Then the 
> question would be - why do it with PHP? If you designing a language
> from scratch anyway, there are so many opportunities to explore...

Don't think I'm not tempted to design an alternative language. If I had the 
time and understood LLVM better, I probably would :). I don't really expect PHP 
to be rewritten, but if enough distaste is expressed with the current state of 
affairs, I imagine at least some things might change.

On May 29, 2011, at 2:28 AM, Pascal COURTOIS wrote:
> why not using a language designed for your needs ?

The balance between rapid development, learning curve, and usability. One line 
in Python or PHP or even C# can equate to thousands in C. Python or Java might 
be a better match for what I'm doing, but then there's the question of putting 
in the time to become fluent with them and their libraries, and there is a time 
constraint. PHP has all of these issues, but 1) I know the language and how to 
cope with the issues it does have, and 2) once those issues are coped with, it 
works better than anything else I know well enough to use now.

-- Gwynne


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

Reply via email to