Don’t Strive for Perfection: Programming is Making Mistakes
In 1999, the Mars Climate Orbiter was a spacecraft that NASA launched to explore Mars. However, the orbiter went off course and the mission failed. NASA lost $327 million in this mission.
The problem? A component, built by a third party, sent measurements in the imperial system (i.e. miles, yards, pounds, etc.), but the component that received them, built by NASA itself, expected values in the metric system (i.e. metres, kilograms, etc.)
Every single developer in history has made bugs and mistakes. Every single one of them. And they will continue making them, no matter how talented or experienced they are. So, don’t discourage if you make mistakes while learning, even if it happens many times!
Mistakes are not only a part of learning, they’re a part of programming.
Yes, There Are Problems With The JS Ecosystem
In other languages, there are a small set of libraries and frameworks that become the de facto standard, the safe choice. For example, if a Ruby developer wants to build a website, they’ll probably use the Ruby on Rails framework. If a PHP developer wants to do the same, they’ll do it with Laravel.
Other options and alternatives do exist, but these libraries are the default choice in these other languages.
On the other hand, in the JS world, there are simply too many options for doing anything. How do you want to use for the UI: React, Vue.js, Angular, Svelte? And how to manage the state: Redux, Vuex, Mobx?
So, if you find yourself struggling with having to choose which library or framework to use, remember that you’re not necessarily the problem.
By the way, I’ve made a guide to help you decide which framework to use.