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