This is Thomas's Typepad Profile.
Join Typepad and start following Thomas's activity
Join Now!
Already a member? Sign In
Thomas
Recent Activity
PHP is an amateur language, coded and maintained by amateurs. There's nothing particularly wrong with this as long as that's what you expect. If you expect to run any sort of mission-critical system with it, then caveat emptor. How is it amateur? Mostly through very poor design. Here are some examples. Having the same operators for comparison of strings and numbers just doesn't work in a weakly typed language. All of the coercion that goes on behind the scenes breaks stuff. It's how you get intransitive equality operators ("foo" == TRUE, "foo" == 0, but TRUE != 0). It's how you get long strings that happen to look like numbers (password hashes, perhaps?) being equal when they're not: "123456789123456789123456789" == "123456789123456789000000000"). It's how you get things like NULL < -1, yet NULL == 0, meaning that sorting is nondeterministic (big problem). Other concepts are simply not understood properly by the designers. This is the only language where the ternary operator is left-associative. This code: TRUE ? "a" : TRUE ? "b" : "c" yields b in PHP and a in every other language in existence that has a ternary operator. Maybe most egregious of all, this is a language that was created basically to write Web pages. At its heart, its job is to read plain text requests and write plain text responses. Yet after 17 years in service, the designers don't understand enough about the domain to introduce proper Unicode handling into the language. If you can deal with stuff like that in your development language, then more power to you. I wish you the best. I personally am very wary about using such a tool no matter how good I am at wielding it.
Toggle Commented Jul 2, 2012 on The PHP Singularity at Coding Horror
Thomas is now following The Typepad Team
Jul 2, 2012