josh wrote:Not all C++ compilers all support all of the possible features of the C++ language, but they are still considered compilers anyways. Likewise I would say a PHP compiler need not support every PHP language feature. I agree that PHP is "mostly" interpreted, but it is also "somewhat" compiled by any definition
some would argue it was hardly "designed"
pleeeasseee... give me a break. Biased much?
I was pretty clear on how it is "somewhat" compiled. I stated as much explicitly and my explanation pretty much matches exactly what you are saying about it. No argument here.

The line is a bit blurry to be sure, but the language itself is generally accepted to be an interpreted language in every reference to it I've seen. Just remember that interpreted languages are commonly "compiled" into an intermediate step and that doesn't make them any less interpreted so long as the thing isn't running on the hardware directly.
Typically this intermediate step is a result of a lexer doing its thing before actual execution of the statements. The fact that you can store the results of the lexer means that you don't have to re-parse the PHP rawcode, but that's hardly executing a compiled language, it's just one step in the interpreter. Lexical analysis is done on every programming language in some form (compiled or interpreted), sometimes it is tied directly to execution, often it is a separate step.
http://en.wikipedia.org/wiki/Lexical_analysis
Again, I don't think we're really -disagreeing- exactly, but I'm not 100% sure.
___
I'm not biased, this is a pretty informed statement based primarily on the organic being which is modern PHP. We have what is essentially a toolkit language with relatively little in the way of standardization. Riddle me this, would a language which had been rigorously designed include in their core the functions:
mysql_escape_string... And then later a function to replace it mysql_real_escape_string. Come on.
How about our good friend magic_quotes which introduces more difficulty than it ever solved?
I'm not even going to bother mentioning the underscore and camel-case inconsistencies or the headache that is trying to work with unicode in PHP.
Objects were added in version 4 and then completely re-done in version 5... Get it right the first time and I might not say it was hardly designed at all. Much of the problem of PHP simply stems from the fact that the language started out as a very basic website template parsing tool and then quickly out-grew that with multiple contributors providing inconsistent language features (many of which are depreciated) and very little direction. The "add it now and ask questions later" mentality is the complete antithesis for "well designed".
The language may be useful, it may be widely distributed and easily accessible. Well-designed it is not. It is getting better, certainly... I am excited and hope that PHP 6 clears up a lot of these issues, but the proof is in the pudding and I am talking about the here and now... Some of these issues strike me especially hard as I support both PHP 4 and PHP 5 because I'm developing tools which I want to be as portable as possible and have no control over the environment.
I've been programming in the language professionally for about 3 years and I know C++ and Javascript pretty well too, you can see and review a project of mine in the code review section to verify that I'm not a (complete) idiot. (*PLUG: while I'm at it, comments and critique would be appreciated on my project:
viewtopic.php?f=50&t=113476 . You seem like a very capable programmer and I would relish your feedback!) You seem to do a lot of work with the language too, so I hope you can see some of my points here and recognize that I'm not in this for an argument, and I'm not trying to be controversial.
Despite a little harping on the language I think PHP is a solid choice for web development and I've sunk a significant amount of time into it.