Originally posted by jonez
PHP provides what seems to me to be a set of lower-level and thus more powerful/flexible building blocks but at the same time with this power & flexibility comes a certain amount of exposed complexity.
There's a mathematical proof to the effect that a certain amount of complexity in any given program is unavoidable: the question is how much you hide away in the language and how much you expose in the code. While you're hiding away stuff you need to predict what the language will be used for and how; people using the language will then be guided or even constrained by your decisions.
ColdFusion may be "easy and simple to learn" (in comparison to PHP), but how often are you going to be doing that? What's important is further down the track, when you're using the language on a regular basis in your normal line of work. How will what is provided affect your thinking about problems? What will you do if the functionality provided isn't quite what you want - could you plausibly craft a more suitable alternative yourself? Will you be finding yourself frustrated at not being able to "get at" the problem with the available tools? Could you (say) write your own MySQL connection/transaction routines in the given language without recourse to any of its native functionality?
PHP is almost certainly a harder slog in the beginning - especially for people with no prior programming experience (those who have formerly worked in Perl or C or even VB will find it less of a wrench), but once you've settled in - well, repeat the questions in the previous paragraph.
While plenty has already been bundled into PHP's existing functionality, it still leaves you with all the machinery to do the work yourself (how many of PHP's functions can be written entirely in PHP?) - which also means that others can write their own more abstract APIs to do what they wanted, not what some corporate decided they wanted.
Maybe ColdFusion (CFScript?) does allow one to work as close to the coalface as PHP; but I don't see any of that in the article. Of course, the author would pick applications that would suit his point. The problem I would have with that is that it introduces an arbitrary conceptual break in the language between "tags" and "script".
An interesting exercise would be to find a master PHP programmer and a master ColdFusion programmer (and chuck in Perl and ASP/VBScript while we're at it), and see how they cope with a variety of typical (and not-so-typical) applications (Default installs of each; no extra third-party apps except a common DBMS). Eg: a discussion forum; a weblog; an image upload/thumbnail-generation/gallery app; a shopping site w/ cart; a web spider; an online Scrabble tournament.
Another thing to ponder: Which would be easier: a ColdFusion emulator written in PHP, or a PHP emulator written in ColdFusion?
[Edit: Oh, yeah. "Less typing = more time working on the meat of your program". Since programmers generally spend only 5-10% of their time typing anyway, half-a-dozen characters more or less is not about to make much impact. That said, I much prefer $i++ to ADD 1 TO I GIVING I...]