I often find myself defending PHP. It seems to be very unpopular lately, at least by some very vocal individuals on the web. I like PHP, and here's why:
It runs everywhere, has lots of libraries, and most of my friends know it.
That, for me, is huge. It's enough for me to forgive, tolerate, and even enjoy programming in the language.
Anyway, here's what I don't like:
The lack of a decent module system.
The lack of closures.
The weird reference semantics of objects in PHP4. PHP5 is way better in this regard, but now I have to worry about whether my code will still run on PHP4, and whether or not I will need it to.
The clumsy templating syntax. Short tags help, but I'm supposed to feel guilty if I use them.
The need to use unreliable third-party software to get bytecode precompilation, causing me to worry about the performance costs of modularity. (!)
Magic quotes. And the fact that I may need to undo them depending on the whims of system administrators.
Arrays. I wish dictionaries and lists were separate concepts like they are in Python and many other languages I want to interoperate with.
The name. I hate when I have to explain what PHP stands for. I feel like enough of a geek as it is.
Comments
I often find myself defending PHP. It seems to be very unpopular lately, at least by some very vocal individuals on the web. I like PHP, and here's why:
It runs everywhere, has lots of libraries, and most of my friends know it.
That, for me, is huge. It's enough for me to forgive, tolerate, and even enjoy programming in the language.
Anyway, here's what I don't like:
The lack of a decent module system.
The lack of closures.
The weird reference semantics of objects in PHP4. PHP5 is way better in this regard, but now I have to worry about whether my code will still run on PHP4, and whether or not I will need it to.
The clumsy templating syntax. Short tags help, but I'm supposed to feel guilty if I use them.
The need to use unreliable third-party software to get bytecode precompilation, causing me to worry about the performance costs of modularity. (!)
Magic quotes. And the fact that I may need to undo them depending on the whims of system administrators.
Arrays. I wish dictionaries and lists were separate concepts like they are in Python and many other languages I want to interoperate with.
The name. I hate when I have to explain what PHP stands for. I feel like enough of a geek as it is.