DEV Community

Cover image for Why You Should Learn JavaScript Principles First (Not the Hottest Frameworks)

Why You Should Learn JavaScript Principles First (Not the Hottest Frameworks)

Roberto Hernandez on October 17, 2019

Originally published on my blog MullinStack No Winners in the Crazy Frameworks Race In the last five years, I have been crazily chasing...
Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

I don't do Javascript, but I can testify that this is excellent all the same!

You've described my entire philosophy of programming. Because I've spent so much time mastering the underlying concepts of software development, I can pick up any language quite quickly. Similarly, when I spend any meaningful time in a language, I try to master the entirety of its core before I worry about grokking various libraries, GUI frameworks, or what have you.

Abstractions should make your life easier, as long as you don't focus on the abstractions. Learn the underlying concepts, and you'll be able to pick up any abstraction at will.

Collapse
 
lockeag profile image
Adrian Galvez G.

this should be the name of a book: the underlying concepts of software development

Collapse
 
codemouse92 profile image
Jason C. McDonald

It very nearly is. I came across this new release from No Starch Press the other day. Looks promising...

How Software Works by V. Anton Spraul

Thread Thread
 
blarzhernandez profile image
Roberto Hernandez

Great. I will take a look at. Thanks for sharing!

Collapse
 
blarzhernandez profile image
Roberto Hernandez

Completely agree. Jason, thanks for reading.

Collapse
 
lbayliss profile image
Luke Bayliss

I find understanding the language first leads to the frameworks making so much more sense when used. Rather than knowing that A does B, you understand how A results in B; which can be incredibly useful.

Collapse
 
blarzhernandez profile image
Roberto Hernandez

Yes sure, Actually, we do the opposite for different reasons. Thanks for reading!

Collapse
 
eaich profile image
Eddie

Thank you Roberto! I agree with you completely. I think many of us are experiencing "framework fatigue." Many frameworks started out as just someone's way to save time. It's their own abstraction, but they knew the pure underlying language first - A Framework Author's Case Against Frameworks

Learning the fundamentals allows you to learn other languages more efficiently. At the end of the day, a function is a function, a variable is a variable, etc. Excellent article!

Collapse
 
iggredible profile image
Igor Irianto

Awesome article. I was in the same race until recently. First I did angular (1 😅), then react, then recently vue- after flirting with Svelte. In the end, if I can't ship any code with these frameworks, what have I accomplished? Nothing.
I absolutely agree. If you learn core JS, you can pick up hyped-framework-X in short amount of time, saving you time in the future!

Appreciate the book list btw.

Collapse
 
deekshasharma25 profile image
Deeksha Sharma • Edited

I can't agree enough on this. Countless times, it is thought and assumed that the problem is arising because of a framework issue. But the real problem is the basic JavaScript concept which has absolutely nothing to do with framework. Thanks for writing this article!

Collapse
 
wagnerluis1982 profile image
Wagner Macedo

And sometimes it is really a framework issue, but we can't figure out because we don't know the basics.

Collapse
 
mjcoder profile image
Mohammad Javed

I've been developing for a few years now & still struggle to grasp JavaScript. Every developer starting out must grasp JS and make sure you are strong in that before diving into the many JS frameworks. I will get there, in the end, I'm stubborn as hell & won't rest till I conquer JS. 😂

Collapse
 
bimlas profile image
bimlas • Edited

I highly recommend this video tutorial for beginners: udemy.com/course/modern-javascript...

Collapse
 
ziizium profile image
Habdul Hazeez

Thank you, Thank you. In addition

GitHub logo leonardomso / 33-js-concepts

📜 33 concepts every JavaScript developer should know.


33 Concepts Every JS Developer Should Know

33 Concepts Every JavaScript Developer Should Know

Follow me

Introduction

This repository was created with the intention of helping developers master their concepts in JavaScript. It is not a requirement, but a guide for future studies. It is based on an article written by Stephen Curtis and you can read it here.

🚀 Considered by GitHub as one of the top open source projects of 2018!

Community

Feel free to submit a PR adding a link to your own recaps or reviews. If you want to translate the repo into your native language, please feel free to do so.

All the translations for this repo will be listed below:

Collapse
 
mpodlodowski profile image
Marcin Podlodowski

Great article, Roberto, thank you! I would say that it's perfectly valid for any given language.

The book list you provided (I especially like the second one) has broken links BTW.

Collapse
 
georgeoffley profile image
George Offley

Like all other languages which have a ton of available frameworks, learn the fundamentals.

Collapse
 
mzahraei profile image
Ardalan

Right data structure is one of the important things before trying to write javascript code. I love javascript l

Collapse
 
blarzhernandez profile image
Roberto Hernandez • Edited

Yes, of course, it is too. Thanks for reading!

Collapse
 
__orderandchaos profile image
Order & Chaos Creative • Edited

Learn language-agnostic principles: algorithms, design patterns, clean code and refactoring.

JavaScript is as good a place as any to do that.

Collapse
 
sudheervajrapu profile image
Sudheer

Programming JavaScript Applications link is not working.

Collapse
 
blarzhernandez profile image
Roberto Hernandez

It´s working. Check it again.