Why learning the basics is important for beginners

I think there are a lot of questions going around about newcomers jumping into libraries like React while having a limited amount of knowledge around the language it's built on - Javascript.

Atleast that's what I see on Reddit, just general stuff asking about which library or framework they should jump into even though they don't know much about the underlying language. Which is fine. It's good to be curious and always looking forward.

However, you'd be doing yoursel a disservice by putting the cart before the horse and jumping too far ahead of your skillset.

If you're new, you're definitely going to want to stay in the mines for a while and learn the basics of development. This means if you're learning how to style a website, learn basic CSS before using Bootstrap or Sass etc. Learn the root before an abstraction.

The same can be said for anything you're learning. Root before abstraction. Javascript before React/Vue/Svelte. HTML before HTMX or another templating language like Ember or Handlebars (is that still a thing).

The reason being: imagine you got a job and you knew React really well, you're really good at it. That's great! The work has paid off. Now what if they moved to something else, what if they ditched it all together because the web-dev GigaChads got to the C-Suite and they decided to go with Vue (gag). Now what?

Because you won't have a deeper understanding of the underlying technology, I believe that'll be a disadventage for you. Keep in mind this is ONLY MY OPINION. It's also the perspective I took when I was learning early on. I remember picking up Bootstrap, but putting it down at some point early on in order to really understand CSS and not have to rely on some sort of abstraction.

When you are confident with the underlying technology, then definitely pick up something else, learn another thing. Now that I know how to use CSS on its own, I can move onto things like Tailwind and other CSS abstractions.

The same thing goes for me and Javascript. I started with Javascript then incorporated some Meteor, some Ember, some Gulp back in the day, lots of different things. Now keep in mind it's not always linear; I hoped around a lot. But learning Javascript was crucial to me knowing how to use React. Don't get me wrong, I don't know exactly how React works under the hood, though I'd love to figure that out, but I knew enough where it was time to move on.

This isn't suppose to be some grand article, but it's important for you to know the basics before moving onto big-ole libraries and frameworks. Think about your future self: "What would happen if I couldn't use this library any more and had to use it's root technology?" That's what I ask myself when considering an abstraction. I think you should too.

Anyway, go get that bread. Take the time to learn and be curious. This curiousity will pay off down the road and never forget to have fun. Don't take this as gospel; mess around and try new things, but always come back to the root. Grow your roots deep, my friend.

Take care now, bye bye then.