On Fri, 4 Apr 2003, Per Lundberg wrote:

> On Fri, 2003-04-04 at 19:06, J Smith wrote:
> > It's been said before, but PHP isn't C++ or Java, so why would they have to
> > be compatible?
>
> Because it will make it easier for C++ or Java programmers to find PHP a
> pleasant experience.

Only the people looking for purity and aesthetic beauty.  I hate to break
it to you, but PHP is an ugly language.  It is always going to be an ugly
language.  Ugly problems often need ugly solutions because the pretty
solution is sometimes just too much of a hassle for everyone involved.

There are many examples of this uglyness.  Case-insentive function names
is one, you are arguing that this is another.  But look at it from the
real world and not from the purist looking for beauty.  Does it really
matter that you can't make two functions that only differ by case?  Are
you really going to have foo() and Foo() in the same code doing different
things?

Along the same lines, why do you care if you can call a static method in a
class without declaring it static?  Other languages, or some CS prof
somewhere told you it was uncool, but so what?  It isn't going to change
the way your code runs or the way anybody uses the language.

If we were starting from scratch at this point, sure, some of these things
would be done differently, but we have a bunch of legacy code out there,
and when choosing whether to break backward compatibility we need to look
long and hard at why we are doing so in each case.  If the only answer is
for purity or aesthetic beauty reasons, we are very likely to always
choose the uglier BC road.

-Rasmus

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

Reply via email to