Beginner developers: When considering your first language
There are so many things to consider these days when you are selecting what tools to use to build your system or application that making a choice becomes a difficult process.
You may find it strange but a lot of companies decide the tool set they are going to use entirely based on the personal preferences of the founders or the CTO. That is fairly obvious for startups as most of them begin with just one or two people and an idea, the same is true for the bigger organizations when they make decisions about the next generation of software product/s they will build.
There are some traditional reasons in play when selecting the tech stack, like the existing products are too big and complicated ergo too expensive to rewrite in something better, the CTO and/or the developers are too specialized in the tech tools they use and can’t or won’t use anything else
The same personal preferences play a huge role in keeping alive some technologies and languages that are long overdue for retirement, things like PHP, Python and even some newer and popular frameworks like React.
PHP is only alive because of WordPress, it is a very popular blogging (and not only) platform that has the lowest entry level that will allow you to produce a good looking website (thanks to the biggest template base in the world). Thanks to Wordpress there is enough of demand for PHP developers to keep it alive, there are other companies of course but they are mostly using it because of the traditional reasons mentioned above and if not for the major factor keeping the language alive (WordPress) they will not be able to function as a company for long.
Python was a practically dead language a few years ago, only a lucky coincidence revived it. The last bastion of Python was the couple of universities that kept teaching it as introduction to program languages, as traditional for the education systems everywhere they are always behind the tech treds but as luck will have it some of the people researching Machine Learning needed to test the theories in practice and as Python was part of the university curriculum and voala, Python was selected.
And after the Machine Learning become popular the unfortunate situation was that most of the libraries available to use where in Python and most of the researches in that field where already using it and I’m sure at some point someone said something like “Python is so easy to learn, so it will be easy to people to get involved in Machine Learning”. And when a language gets popular people start experimenting with it, and some of the experiments get blown out of proportion (Django) and now people are trying to use it for anything.
That by the way is not the only dead language that got revived by coincidence, Apple did the same thing for Objective C (they did killed it again but it took some time)
React, the most popular framework for the past year or so, afer Google decided to pretty much kill Angular. It is the king at the moment, the ease of use, the rich functionality, the plugins, the community and on top of everything it is backed by Facebook. But things change and although the speed is not an issue like it was for jQuery (jQuery was mostly killed by the loading speed of the libraries and the huge amount of them one needed to include in order to do something interactive) it have the same problems with getting too big in attempt to do everything and do it better.
React also attempted to adopt Typescript but only for the strong types to reduce variable types errors and nothing else, so at the moment anyone using React and having a good understanding of Typescript is faced with the word situation to code something in very complex (two or three time more code) syntax by using language that is capable to do the same thing in 5 lines of code.
Also Microsoft did not stop with typescript, they introduced the .NET Core and Blazor, the new technologies made possible web applications at the client side with the convenience of using C#. And considering the big number of companies that already use the .NET environment that made one more reason not to move to something else.
Last but not least, Google did not just decide to drop Angular (the other competitor for best framework) with no reason, they made Flutter, a pixel perfect framework that not only solved the problem with multiple browser look and feel support but practically made working multi platform deployment from single code base reality.
So, less and less reasons to use React these days and considering the major backing is from Facebook that created React for internal use and have entirely different incentives than the larger development community, the direction of the future development of the framework is uncertain.
Too early to say how long it will take to disappear but the signs of trouble are there and it is no longer a question of if but when.