Dive into my collection of in-depth articles, research papers, and long-form content. Each publication represents hours of research, thought, and careful crafting.
After having been using PHP for 12 years in professional environment with of course JavaScript on the front end, I dropped it in mid 2018 for Google Go language, which in my opinion is way better in many different ways, the main being that it enforces neat coding that compiles fast, executes fast, deals with concurrency in an efficient and simple way, and a code that is easy to read even when it's not your code, as Go enforces the style of coding (go fmt, go lint).
PHP is a messy language with an ugly set of standard libraries, it is slow[1] [2], it deals with the primitives involved in the web in the sloppiest way (urls, html, scripts, attributes, etc…) by offering no standard way to deal with them (there is no clear escaping way) and letting everyone code it “fast and dirty”, which means that as soon as “it works” people stop wondering how to make the code better, which leads to insecure websites in so many different ways[3]. That's the reason why PHP has so many frameworks, which don't solve anything, they just move all problems a step up.
The messiness of PHP leads to a huge surface of possible attacks and hacks, which nowadays is intolerable. More than 10 years ago it was still ok, when the alternative to PHP where even worse (Microsoft solutions). I'll probably continue to use Go for the next 12 years, with it the code is shorter (30% on average), the control of what's going on is absolutely total, and there is no surprise in data manipulation with a very clear set of initial rules. Plus, Go is self-contained, it has no external dependencies.
—
About JavaScript on the back end, on the other hand, I've tried to use it for years while I considered leaving PHP behind but I never could wrap my mind around it. It evolved like the JavaScript of the front end, which unfortunately received huge coding style modifications (versions 4 to 5, then 5 to 6, then 6 to …) which enforced from the beginning a full backwards compatibility, and forever. This, is a huge mistake, which leads to another style sloppiness in the code. And of course, the more a language is bad the more it will have frameworks and libraries competition[4] , which leads to endless refactoring of code. So I don't like JS, the way it evolved is insane, it's slow, mono-threaded, and the problems created by his weird past are not even visible today, but sadly eventually they will be. And I don't want to be there when JS will fall.
Footnotes