As a seasoned software developer, one of the things I most value is mature frameworks. By mature, I don’t necessarily mean old. Rather, I mean a framework that will still be useful tomorrow. Furthermore, that framework should have documentation that will help me today and still be relevant in the future.
Languages like C, C++, and Java provide these frameworks. While Java has had a number of revisions since it was created, code from the 20 years ago will run just as well as modern code. While it may not take advantage of newer features, it is no less viable. Furthermore, books on Java development from 15 years ago can still provide new developers with instruction on programming. In fact, the only part of Java that has really been significantly obsoleted is the windowing frameworks. Likewise, C and C++ code from the 90’s will still run well today, with some minor tweaking.
On the flip side of the spectrum lie the various Javascript frameworks. While Javascript has been around since the beginning of the internet, it seems that frameworks are constantly evolving. Consider the Angular framework. I recently was asked to update an application written in Angular just a few years ago. However, I quickly learned that all of the APIs were now obsolete. For example, the HTTP client had been obsoleted and other libraries wanted to use Observables instead of Promises. To make matters worse, the entire Firebase API was virtually scrapped in favor of an entirely new API.
What makes these changes even more difficult for developers is that the documentation is often poor or non-existent. For example, I attempted to run the newest Firebase API tutorial from Google only to learn that none of the code would compile with the newest libraries. I had to spend an hour looking for a more recent code sample. Try to find a current book on the Angular framework and you will quickly see the challenge.
Unfortunately, this seems to be the status par for Javascript frameworks. Each one has numerous changes and little documentation or training materials for developers. Yet, we continue to use these frameworks. Why? Because Javascript is the defect standard for web development. You have no other choice! If you did, you would certainly use a mature framework that would still compile tomorrow!