DEV Community

Gloria Asuquo
Gloria Asuquo

Posted on

How did Javascript click for you?

For more context, while learning Javascript what did you do that made that "Javascript difficulty" go away?

Top comments (39)

Collapse
 
cmgustin profile image
Chris Gustin

I found a book called “A Smarter Way To Learn Javascript” and it was exactly what I needed to get over the beginner roadblock and have things start clicking.

It breaks the concepts down into very short chapters, then each chapter has an interactive quiz that takes about 10-15 minutes, going over what you just learned and gradually increasing in difficulty from “complete this short line of code” questions to eventually “write the whole code block by yourself.”

It puts the emphasis on getting your hands on the keyboard and building muscle memory and confidence, as opposed to hitting you with dry theory out of the gate.

I moved on to more advanced books from there, but starting with that one really helped me get up and running quick.

Collapse
 
glowreeyah profile image
Gloria Asuquo

Wow.... Thank you so much for this Chris. I'm getting the book right away

Collapse
 
philipdeve profile image
Philip Ifeanyi

Just got it, hope you have gotten yours🤓

Collapse
 
emsitkowski profile image
emsitkowski

I have to check this one, thanks for sharing ;)

Collapse
 
glowreeyah profile image
Gloria Asuquo

You're welcome

Collapse
 
korosihossana profile image
Korosi M Hossana

Thanks for the information. But could you mention this book for me please?

Collapse
 
philipdeve profile image
Philip Ifeanyi • Edited

Thanks Chris for the suggestion

Collapse
 
gzacarias profile image
Gabe

Which more advanced books do you recommend?

Collapse
 
cmgustin profile image
Chris Gustin

They’re probably a little outdated now, but these are the books I used:

  • Javascript and jQuery: Interactive Front-End Web Development (don’t recommend, lots of typos and code errors)
  • Javascript: Novice to Ninja (do recommend, although there may be better books out there)

I also went through the Frontend Masters curriculum, and EdX CS50.

These days I would recommend checking out Scrimba. I’m using it to learn React, but the quality and ease of learning is phenomenal. I’ve tried a lot of different learning tools and nothing even comes close to it (in my opinion). Wish it had been around years ago when I was starting out.

Collapse
 
andrewbaisden profile image
Andrew Baisden

I started to work on my own projects instead of following tutorials. But that comes with time and practice you need the tutorials to give you the fundamentals then you can go off on your own and build.

Collapse
 
glowreeyah profile image
Gloria Asuquo

Right. Thank you Andrew

Collapse
 
ben profile image
Ben Halpern

It's never the same thing that holds different people back, but understanding the variety of contexts in JavaScript helped it click. Basically, for me it clicked that I was generally programming against different environments which were as important as the language itself. If I'm in the browser the APIs I have access to, like window, document and so on are just as important as the language itself.

Collapse
 
glowreeyah profile image
Gloria Asuquo

Thank you for sharing Ben

Collapse
 
peerreynders profile image
peerreynders

"JavaScript is most despised because it isn’t some other language. If you are good in some other language and you have to program in an environment that only supports JavaScript, then you are forced to use JavaScript, and that is annoying.

Most people in that situation don’t even bother to learn JavaScript first, and then they are surprised when JavaScript turns out to have significant differences from the some other language they would rather be using, and that those differences matter."

Douglas Crockford, JavaScript - The Good Parts, 2008; p.2

Often JavaScript isn't difficult but simply different - trying to impose a mental model that was shaped by another, preferred language usually only creates grief.

JavaScript is it's own thing and it has to be approached on its own terms. That may require some re-orientation.


MDN: JavaScript:

"JavaScript is a prototype-based, multi-paradigm, single-threaded, dynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles."

Slavishly adhering to any particular paradigm in JavaScript is probably a mistake, use what works well in JavaScript.

Collapse
 
luciacenetiempo profile image
Lucia Cenetiempo

hi Gloria, wow i just posted about learning new skills and i found this message 😮
as the guys below say the best way is to play with it... and I can add "to have fun" with it.
You will see that the new challenges will be the way to keep learning.

Collapse
 
glowreeyah profile image
Gloria Asuquo

Thanks a lot Lucia. Can you please send me the link to your post? Would love to read it

Collapse
 
luciacenetiempo profile image
Lucia Cenetiempo

sure, it's a pleasure.
Here is the link: dev.to/luciacenetiempo/5-websites-...
let me know if you find it useful ☺️

Collapse
 
pengeszikra profile image
Peter Vivo

My previous languages is Flash Action script, so changing is not so hard. But need a times to understund : new function(){} ... means some class like think. Big changes coming with ES6 : arrow, destructor, generator give great impact for JS ... and very like explore. Last major step is change OOP pradigm to Funtional Programming.

I really wait for pipeline operator |> of course.

Collapse
 
dianale profile image
Diana Le
  • If you're actively learning, try to keep at it even just for a little bit every day. If you want the concepts to sink in you need repeated practice.
  • Build your own projects or expand on the tutorials. When I was just going through tutorials without building my own things or critically thinking about how to add extra functionality, the material didn't stick as well.
  • Learn from multiple sources. Sometimes the concepts are tricky and it may be that the way one person explains it doesn't make as much sense to you as someone else, or having different explanations gives you more contexts so then it's easier to understand. I took courses from Wes Bos, FreeCodeCamp and Scrimba, and that combination really helped me learn it more than only sticking to one site.
Collapse
 
tqbit profile image
tq-bit • Edited

Brad Traversy's channel taught me all the basics almost single handedly. He's got several crash courses that explain JS front-to-end in a very pragmatic manner. I'm a 'learning-by-doing' type, so those videos really helped removing stoppers in the beginning.

Afterwards, I think it clicked a few times:

  • Once I started learning my first other programming language (Python). It taught me the advantages of OOP, and programming principles in general.
  • Then when I started learning Typescript. It taught me to worry less about writing the code, but giving it (and yourself) boundaries to work with.
  • A few weeks ago when I started learning Rust. I got a deeper understanding of how Javascript's event loop, stacks and the heap play together. And why async code has to be written in callback functions or Promises.

And finally I figure, Javascript is still somewhat difficult. It just isn't as scary anymore 😎

Collapse
 
gaborvxxx profile image
Gabor V

Hey. I hope you find your way! As all person learn differently. You need to find your way and do some self experiment. For me is spending time on it and play with it break it, fix it and take it a part. Consol.log is your best friend.

Collapse
 
basicpixel profile image
O. AlQudah

After taking freeCodeCamp's JS algorithms and data structures curriculum, JS never felt hard to understand to me. That curriculum is just awesome.