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?

Discussion (41)

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 Author

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 Author

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 on

Thanks Chris for the suggestion

Collapse
gzacarias profile image
Gabriel Zacarias

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 Author

Right. Thank you Andrew

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 Author

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
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 Author

Thank you for sharing Ben

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
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
natescode profile image
Nathan Hedglin

Play. Playing is learning. You can read 100 tutorials on prototypal inheritance or type coercion but you won't get it until you play with it.
I read blogs from experts like John Resign. Then worked on Grokking the mentioned concepts.

Collapse
glowreeyah profile image
Gloria Asuquo Author

Sounds like I'm supposed to have fun with Javascript but Javascript isn't entirely fun 😭😂

Collapse
natescode profile image
Nathan Hedglin

Learning is difficult. Especially learning something new. It isn't unique to JavaScript.

Collapse
dianale_dev 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
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.

Collapse
tqbit profile image
tq-bit • Edited on

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
jonrandy profile image
Jon Randy • Edited on

I never had any real difficulty with it, probably as I was already a pretty confident programmer (mostly writing previously in various versions of BASIC). Most programming is all the same - each language just has different ways to express the same concepts.

As has already been mentioned - the best way to learn is just to read the basics... then play. Play is definitely the best way to learn. I started programming aged 7 - teaching myself all the way.

Curiosity and a sense of fun are the main things that will help you.

Collapse
iamraghav profile image
Raghvendra Pandey

Initially I started my programming with Java as it was the part of my college curriculum. Then I got a job where JavaScript was being used, it was completely different than any language I worked on, it was overwhelming at first, but solving problems day by day, creating several projects helped me a lot. Currently I am working with typescript and that's epic.

Collapse
vulcanwm profile image
Medea

JavaScript has never clicked for me. I'm still struggling to learn JS lmao

Collapse
basicpixel profile image
O. AlQudah

I'd recommend taking this curriculum by freeCodeCamp

Collapse
vulcanwm profile image
Medea

I’ll try it out thanks

Collapse
glowreeyah profile image
Gloria Asuquo Author

I hope we have a speedy learning process Medea

Collapse
wrench1815 profile image
Hardeep Kumar

To be honest I'm still js allergic. The only reason I use js is cuz vue/nuxt. Probably the most sanest thing I've ever seen in js. 🤣

Collapse
charmie profile image
charmie

Do you have any book recos about JS design patterns?

Collapse
glowreeyah profile image
Gloria Asuquo Author

No.... Not yet

Collapse
victorio profile image
Vic

I actually don't know, months ago I didn't know what a listener is or even how function parameters work, I only copied code from the discord.js guide and one day I started understanding everything.

Collapse
liviufromendtest profile image
Liviu Lupei

I learned it from W3Schools many years ago:
w3schools.com/js/

It's 100% free, you don't even need an account, and everything is explained so clearly.

Collapse
kaiquecovo profile image
Kaique Covo • Edited on

I liked to search videos from "Website using HTML, CSS and JavaScript" and i copied everything, after then i tried to apply it myself

Collapse
efpage profile image
Eckehard

https://eloquentjavascript.net/<br>

Collapse
urstruly_raghu profile image
karanam raghuvardhan

I played a lot with console in the chrome dev tools. No matter what you are learning, it always helps to have a interactive playground where you can test things immediately

Collapse
nikfp profile image
Nik F P

Oddly, Typescript made Javascript click for me. I was able to produce working code in Javascript before I learned TS, but getting in and using the type system made the rest make sense to me. I also learned C# as my first serious language, so TS was a closer fit than vanilla JS.

Now if I write vanilla JS I have much more confidence in what I'm doing. That said, anything non-trivial that I write is going into a Typescript file regardless.

Collapse
andrewinsoul profile image
Okoye Andrew

There's this site, javascript.info that's what I read in my lesiure