What I don’t like about PHP
- Variable scope or lack of. Which I guess really isn’t possible unless you force variables to be declared before they’re used (like Perl’s “my”). Typos in variables are killer.
- Namespaces or lack of. I don’t need a billion functions polluting the only namespace I have either.
- Everything is pass by value?
- Inconsistent naming of the billion functions. html_entity_decode() versus htmlentities()? isset() versus is_array()? To underscore or not?
- Multiple functions that do the same thing. count() or sizeof()? Just look in the documentation for when they say “function x — Alias for function y”.
- Bugs. I don’t like bugs in general but they’re particularly annoying when they’re in a tool that you’re using. I would like to be able to connect to multiple DBs and use their handles to address the right ones.
- Kinda hokey object support.
- Does case matter? Why are the functions in the error messages in lower case?
- Why do the error messages say something like “expected T_SOMETHINGORTHEOTHER” instead of something immediately readable? I don’t really want to guess what token T_SOMETHINGORTHEOTHER is suppose to be. Just say it (in English).
- “===”? WTF? “Is it really, really equal?” Right.. what did you think I meant when I used “==”? Take your best guess?
- Performance. Not that I really notice or that it really bothers me, but nothing is ever fast enough right? Though it doesn’t do so hot on that programming language shootouts.
I’m sure I’ll think of some more later.










January 31st, 2004 at 9:26 am
Sounds like you’re frustrated at work.
How does PHP stack up against Perl?
February 6th, 2004 at 11:31 am
Screw Perl.. Its ASP.NET all the way
February 11th, 2004 at 7:56 pm
http://www.frozen-bubble.org/
I have yet to see something so grand in ASP.NET.