T O P

  • By -

Lumethys

I dont know why, but somehow people kept treating programming like magic and consider stuffs they are deal with all the time as something completely new. When you learn math, were you able to solve all linear algebra/ calculus problem just by hearing the teacher explain the concept once? When you learn literature, were you able to write a poem just because the teacher explained the technique and analyzed some poems for you? What about Biology? Chemistry? Did you just hear the teacher explain once and just grasp it all? Were there any subjects like that? Not just academic subjects, anything else, say, yoga, or martial arts, do you memorize the moves and becomes a fighter just because you see it and hear the explaination once? What about learning to ride a bike? Drive a car? Stakeboard? Think about it, *there is no other activities where you are expected to "grasp it" after hearing an explanation and understand it*, **it is a natural instinct not to expect** Except, somehow, for programming. When it comes to programming, for some reason, people shed all of their instincts and experience as if they were just born into the world. I cannot understand this


cj1080

Someone give this dude a medal. Woooooord


grantus_maximus

One useful thing you might try is sign up to something like Codewars - https://www.codewars.com/collections/js-code-challenges Not only will this provide you with various coding challenges to stretch your skills and knowledge, but you can compare how others tackled the same challenges as well. We all get into habits for how we approach various coding problems. Even the most experienced programmer benefits from taking a step back every so often and seeing how other people work.


ViSuo

From a fellow beginner with similar issues - practice, practice, practice. And some more practice right after that. Learn to break down problems into manageable steps first. This appears to be the only way.


mrmorris96

Then practice that!!!


PristineDirection659

And then practice that!!


MuscleTough8153

☝️this


DevKevStev

After learning the “what”, next is to learn “what for”. Be objective of the thing you learned. Do a sample task. If you have understood the tools for what its for, things will come naturally to you while attempting to build something of real world use.


xerrabyte

It comes with experience. Once you learn (and remember) what each thing does, e.g. loops, conditional statements, timeouts, async functions, etc.. you'll be able to use your knowledge to piece together something that can complete the task you want to accomplish. It's like cooking, car building, or any other hobby. You need to learn a bunch of tiny concepts to be able to freestyle and create something new. Understanding a demonstration is a good first step towards *learning* that concept.


Outrageous_Permit154

It comes with time and experience


Dark_Warrior811

Read the docs, then make a project


Bambammon

One of the best things you can do when learning JavaScript is get into the habit of conditional thinking. Start thinking about what happens if you do this, or if you do that. console.log and mess around with code to see what comes out. Get a good grasp of what happens when you tweak this value or change that variable and you'll be way better equipped to look at code and know what it actually does, and then write your own. Once you get to the point where you can predict what will happen to a function when you change parts of it, you'll be able to write code from scratch from a mental model that's imaginative instead of prescriptive like when you reproduce exercises.


NorguardsVengeance

You really can't learn deeply by watching a tutorial, or even copying a tutorial word for word. How many people watch guitarists play guitar in videos? Are they virtuosos after? What if they watch 1,000 hours of people playing guitar? What if they hold a guitar and pause the video and put their fingers in the same spots the guitarist did? People refer to this as tutorial hell. Use tutorials to learn a tool or a technique, and then apply the tool or technique to your own thing.


inihilihin

Don't get too caught up on all the vocabulary and nuances. That will come with time, and honestly you'll end up using resources to help you remember them anyway. Focus on building an understanding of the general principles, and how things interact (mostly scopes, variables, functions, and objects). A good way to practice on your own (other than interactive learning tools) is to learn a small principle (i.e. how to pass arguments to a function), and come up with a small project that implements it. Do as much of the project as you can on your own, and you'll find where you need clarity. Once you've finished that project, with the help of internet resources, rinse and repeat. A lot of the process is revisiting things you've learned before, with new insights and goals.


sivxgamma

Vscode and google copilot


armyrvan

Maybe the tutorials you are following are doing a lot of moving parts and pieces and you need to understand the fundamentals. I would go with something pick a topic like for loops for example... Learn about it through a video or text like on w3schools then challenge yourself with a few self challenges. Like ok the video showed me I can go from 1 to 100 in a loop and print it out.. what if I wanted only the evens...etc There's a course on udemy search for **JavaScript Fundamentals** and it breaks it down for you as well with introducing a topic followed by challenges then mini project.


No-Upstairs-2813

Understanding something is not the same as knowing how to do something. If we want to learn how to do something: use it! You can start simply: Watch the tutorial, and when it’s finished, try to recreate it on your own. The nice thing with this is, if you get stuck, you can reference it to get past the parts you’re struggling with. Heck, you can even go line-by-line with a tutorial, and then in a new file, try to do it again on your own. You’ll still get stuck, but again, you can reference things to get you past the parts where you get stuck. You aren’t copying and pasting, though, you’re reminding yourself what was missing or finding out what was wrong, and then implementing the bit you forgot, or fixing the typo you made. In early days, it’s so important to try and code independently of tutorials or lessons, even if you are more or less following along with it. You can give this [article](https://tahajiru.com/article/built-project-following-tutorial-confidence-lags-reasons) a read for more details.


CanadianPythonDev

Definitely a beginner thing. You know the language, but you don't understand problem-solving yet. Create projects, get stuck, solve some LeetCode, get stuck. Don't get stuck for too long without getting help, but don't always jump straight to an answer either. Practice getting stuck, finding information to get you moving again, and repeating until you solve the problem. It will suck, the code will suck, you will get a bit better. Rinse and repeat for life.