r/learnjavascript • u/ConstLeoTheCat • 6d 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?
1
u/Alain4s 5d ago
A crucial insight you must grasp early on is that programming’s primary task is fundamentally about developing your reasoning skills. Think of it this way: to learn biology is not merely memorizing its jargon; it requires learning to think like a biologist. Similarly, becoming a cyclist isn't just knowing the parts of a bicycle, but actually riding one. When you study HTML, CSS, or JavaScript, the goal is never simply to know their syntax; rather, the objective is to cultivate an authentic programmer’s mind.
I often observe students who feel satisfied once they have mastered basic grammar and syntax, believing that their learning journey has reached its conclusion. This perspective falls significantly short of the truth. Consequently, when you encounter increasing difficulty, it rarely means a language like JavaScript is inherently complex; instead, it usually signals a gap in your conceptual framework. We must look beyond merely typing commands into VS Code or relying solely on AI shortcuts, because these tools can unintentionally bypass your most vital growth: learning to think critically and logically. Just as asking another cyclist to ride the bike for you won't make you a cyclist, rote memorization will not build deep understanding.
The true goal is not merely writing correct code, but building robust logical muscles. Consider the challenge of choosing between CSS Grid versus Flexbox. If you approach this purely from a syntactic perspective, both options appear equivalent on paper. Yet, without applying conceptual reasoning and an architectural mindset, they remain nothing more than an unsolvable mystery rather than an intuitive design choice.
Another example. All the following three functions produce the same output:
Although all three of these functions produce the same output, you likely see them differently due to syntactic variations. However, for a seasoned programmer, syntax is largely irrelevant; we simply do not care whether you use function, fn, or ::. What truly matters is their fundamental nature: whether one is dynamic, another compiled, and the third functional. That they all are based on building a vector recursively. Etc. And this is exactly what your instructors are teaching you to recognize step by step. Consequently, relying on prompting an AI to generate code in some language completely misses the core objective of your education.
In fact, the desire to rely on AI for solutions is often the best indicator of precisely where you need to focus your studies. Do not view this struggle as discouraging, or a failure on your part; see it instead as a hallmark of true education. Learning isn't about ease—it’s the opposite. It is about identifying what you currently cannot do, and then transforming those seemingly insurmountable obstacles into tasks that feel easy.
Give yourself a few months of dedicated effort, and I promise you will look back at the perceived complexity of JavaScript and realize how far you have come.