We’ve gone full circle.<p>Truly look at the PHP code in this article, the JS dependency hell here and in the recent JS article.<p>Look at the code. At the environment. At the libraries.<p>Who isn’t reminded of what Java looked like years ago?<p>We’ve come full circle.<p><pre><code> ------------------------
</code></pre>
Now, if one asks why this is, the answer is pretty simple – enterprise products.<p>To build software of a certain scale, certain technology, patterns, etc are required. These are what we see here again – ORMs, complex dependency systems, complicated frameworks, etc.<p>One might wonder why people even write PHP and JS nowadays, if Java is still faster, JS and PHP are now equally complicated, and Java ported all of the advantages of the others.<p>And, in fact, the Play Framework (which supports Java and Scala) is growing.<p>At the same time, Google’s go is copying the same mistakes Java did in the beginning, with almost all new methods in the standard library taking interface{} – the equivalent of void* or Object, and a simplistic typesystem.<p><pre><code> ------------------------
</code></pre>
Why do we, as a profession, create new tools for a new purpose, then force them to adapt to another purpose, until they’ve become identical to the tools we tried to replace?