I get the feeling more and more that developers are embarrassed about using it, similar to how some devs are embarrassed about using PHP, yet it's still a workhorse.
I get the feeling more and more that developers are embarrassed about using it, similar to how some devs are embarrassed about using PHP, yet it's still a workhorse.
If you are starting a new project on it, you should indeed feel silly.
I picked floating point math as a problem because JScript would give you an incorrect answer.
There are more than 2 languages available for backend programming. Some even get both templating and IO right.
Laravel collections alone make it almost a functional language when using it w/ laravel.
Also honestly, I don't think I should look now. The PHP applications I see around are still the ones getting serious vulnerabilities found every week, the same ones that other communities found ways to pack the solutions into tools and conventions that are easier to use than not to. I also don't see anybody claiming PHP has any new template system to replace the dated original one.
I've seen some progress on the language, but not nearly enough to make it compelling. I have plenty of stuff already on my ToTry list, PHP would have to say something better than "I'm not a complete mess anymore" to enter it.
Because the language is a bit archaic (has maintainability problems for large codebases, has the "too little power" problem for small codebases); as far as I have looked, the ecosystem still does not include a good templating system (although it does include most of the tools available on other web ecosystems); and the community is still heavy on applications with the same kinds of security bugs they always had, and many, many "X-only" developers.
And, anyway, fixing those outstanding problems can only make it an ordinary language. And there's no reason to look at any language that the best claim is "it's not worse than any other random language".
The fact that it still works is important. As long as I've got clients asking for IE 8 support, jQuery's going to be in my toolbox. And probably even after.