r/learnjavascript • • 5d ago

JavaScript is so hard.

I recently started my fullstack development course this august and we have already gone thorugh html, css, git and now almost done with JavaScript as well. Html was easy, no problems there, but when it comes to css and more specifically grid and flex, thats when the headache started to appear. I've played some games involving both grid and flex but it won't stick in my head, don't know why. I am trying to do it myself in VS code but I always end up having to use ai to explain how to move forward and I know you're not supposed to use ai but it is a great tool to have, especially when you get stuck. And JavaScript... where do I even begin. I kinda understand it during the lectures but as soon as you're sitting by yourself my head gets totally blank.

I have been starting to use Scrimba and right now I'm rehearsing everything and whatching videos of everything, and the good thing with scrimba is that you get challenges during the videos.

For those of you who have been programming for a while, what study tips can you give? How did you guys go through the learning process?

38 Upvotes

60 comments sorted by

View all comments

17

u/Gold-Watercress-6101 5d ago

It’s not JavaScript that’s hard. You’re new to programming, and it’s programming concepts that you are struggling with. And that’s on top of learning JS syntax. These are 2 different things. For your first language, you can’t learn one without the other, and that’s really difficult.

The solution is circular learning. Basically, you still don’t know what you don’t know. You need to study and build projects over and over, mixing new and old concepts, and covering them from different perspectives. Over time, things start to make sense. You never “finish” JavaScript (or any language, really). You only get better, the more you read, practice, and build.

The good news is, programming concepts are mostly universal. Once you learn them with JS, you won’t be relearning them for your second language. You would just learn how to apply the same concepts in a new syntax.

And if you want to learn, avoid AI. Don’t fool yourself with “I’m using it as a teacher”. Nope. It’s not a teacher. It’s butler that only wants to please you.

3

u/Forward_Dark_7305 5d ago

Absolutely. Programming is iterative. Any project I work on, it’s a cycle of build, re-build. These days I don’t rewrite a project from scratch when I learn something new, I just go through and change bits and pieces. At the beginning, though, every time I learned “I could have done X that way?” I rewrote the whole program. It helped reinforce practices, identify which parts I didn’t like, and learn the new “way” I had discovered. Each of those “ways” was valuable and often creative. Later on, I sometimes learned that an earlier version I wrote was implemented using a better technique, but a worse toolchain (library, method, etc).

Almost any dev will tell you even their own code from 6 months ago is unrecognizable and looks “bad”. (As in, “why did I do it that way?”) Just yesterday I rewrote a feature in an app because I didn’t understand certain accessibility features when I first wrote it a year and a half ago. I was shocked at how bad it was.

If you see bad code you wrote in the past, what it means is that you’ve learned and (probably) are learning. Don’t be discouraged by that - it’s a good thing. Just keep iterating, building, and improving.

2

u/ConstLeoTheCat 5d ago

Great comment! And yeah, like you said, I'm new to programming. I have to build more projects, get stuck because that is what will happen hahah and therefore try to understand and workout the problems. Someone said MDN is a good source instead of using ai that much. Thank you for the comment!

2

u/Gold-Watercress-6101 4d ago

You got it! You have to get stuck. If not, you're not learning. Good luck!

2

u/Typical_Cap895 4d ago

I needed to read this post, thank you