For example, in V8, if you want good array performance, you MUST make arrays of only one datatype and NEVER extend that array otherwise you switch to the fallback mode and performance goes down the drain. When these kinds of restrictions occur, these high-level languages become HARDER to program than their low-level counterparts. In our example, if you have a bug in your JS where the wrong datatype is being inserted into your array, it (like almost everything in both JS and PHP) silently continues and you spend weeks searching for the performance problem (it's even worse when it's a silently failing error like both these languages love). At least C (or almost any other compiled language) would give you an error message and a stack trace (if it didn't outright catch the error at compile time).
At least JS has function scoping unlike PHP where all functions are globally scoped (and don't get me started on the "OOP" that PHP offers). In fact, I would almost say that JS is a good (not great) language if ECMAscript 6 were to get rid of the known bad parts. I would certainly prefer using node.js to PHP (and I don't really like node.js that well).
Edited by hajile - 7/23/13 at 9:10pm