Getting frustrated the more I try with JavaScript

I have been trying to teach myself JS for years, I finally took the plunge and am working on the FreeCodeCamp’s Javascript course, I am almost done with the first section, but I am quickly becoming more and more frustrated/ dis-heartened the further I get.

It started when I got to the Record Collection Challenge, up until that challenge I felt like everything was making sense, and I was understanding the concepts fairly well. It took me 2 days of trying before giving up and going to look at the solution for it, and ever since then, I find myself struggling more and more with each lesson. I take notes, and refer back to them, but even then I feel like I am struggling to put it all together to make functioning code.

I have background in HTML and CSS, I taught myself them with relative ease, but I feel like learning this is a whole new and tougher beast. I am hoping I am not the only one struggling.

Does anyone have any advice on getting past this feeling of frustration?

4 Likes

Programming involves frustrating; that is completely normal.

In your case, I would recommend not looking at the solutions. Instead, I would come onto the forum and ask questions when you are stuck. There are a bunch of full time programmers on the forum who want to help.

5 Likes

Yeah, that one gets a lot of people. Actually, if “everything was making sense” up to that point, you might be ahead of the curve.

Just keep at it. This stuff is hard. Be proud of what you’ve done and look forward to the next challenges.

4 Likes

Another thing that might trip people up is that in the beginning, the challenges might take 10 seconds. When I got into the algorithm stuff, some of those took me a day or two to figure out - but it was time well spent.

7 Likes

Yeah, what I actually have been doing when I get stuck is, looking at the code in the solution, and then write it out myself (so I am actually writing it in the project) and also paste it into my notes, and then break down what is actually happening for each line of the code, so I can look back and understand where I got stuck and what the code is actually doing.

Normally when I get to the point of looking at solutions in the forum, people have already posted that they are stuck in the same place, so I do look at those replies as well, it is just a dis-heartening feeling knowing how easily I understood the first two languages I taught myself, and then with this one I struggle so much.

Which languages? You mean HTML and CSS? Those are much simpler.

And keep in mind that algorithms are not language specific. A JS person, a Python person, and a C++ person could all have a discussion about how the algorithm is solved without knowing each others’ languages. Really, if it is not using arcane data structures, we should be able to explain the algorithm to a non-programmer. I once tested this by getting out some 3X5 notecards and explaining to my wife (who knows nothing about computers) how a few different sort algorithms work. It’s not about the language.

Algorithms are not about the specific language but about thinking about the problem and understanding the steps to solve. Then you figure out how to implement it in whatever language. So, struggling this is probably about having difficulty with algorithms. But that is normal. A lot of people struggle with these. I did too and I had some programming and algorithm experience from way back when.

4 Likes

Copying and understanding someone else’s answer is a completely different skill than writing your own solution. I would stop copying. It is slowing you down.

This is hard stuff. Learning takes time and there isn’t any way to shortcut that time.

3 Likes

That I 100% agree with, my boyfriend writes code using C++ and other languages, and when he tries to help me with this course, his explanations make sense but I can totally see where he thinks about it differently.

1 Like

I’ve fallen off multiple times due to burnout, and it is ALWAYS around the time I’m trying to grasp the concept of JS. I’m giving it another go around this time, but this time I’m going to try to accept the fact that there will be things that frustrate me and to give myself some time away from the computer to regain my composure before I jump back into it.

Perhaps try that. If something is stumping you, give yourself some time away from coding and jump back into it at a later time with a fresh mind and a renewed sense of grit. This doesn’t have to be a long break, a couple of hours or a few days, but I think breaks are important.

3 Likes

i was in the same boat as you . i have the javascript algorithms certification but i was strugling one time and it took me 5 months to complete. as everyone say. this stuff is hard. I almost gave up but im also too stubborn to give up. what i eid was took a break and practice some code wars thebn came back to it and completed it. it took me about 5 months for that section, but i was glad i didnt give up . nOW im struggling on using react for the next curriculum the front end certification. again i am stuck and decided to take a break but im not giving up. i just decided to mess around rasperry pi controller with C language to take a break but not giving up and stil plan to come back to the curriculum.

what im saying is it actually helps when your stuck on something, go try to do some other non FCC related activity but still coding related and c0kijng back to it seem to work well for me. even if its more than 2 months, however much it takes. its mucyh better than giving up

1 Like

I am doing exactly that, I took the weekend off from even thinking about code, and to be honest I feel refreshed. I too struggle with falling off the wagon because of burnout when it comes to learning this language. I am going to work on forgiving myself for it when it does happen (because I know that it will happen, because this language is hard, and accepting that it is hard is a struggle for me).

Hoping you can get past your road block with ease, and remember that we are all struggling (it has given me a sense of peace to know I am not the only one and I hope it will give you the same)

1 Like

And go easy on yourself, You’re not “falling of the wagon” - that would be succumbing to an adiction and being stuck on an unhealthy path from which you might not recover. That is very differnt than taking some time off to recharge your batteries and think about your goals, That can be a very positive thing.

2 Likes

Very true, I refer to as such, because of how often I have had the same issue, I get started , make the commitment, and then get angry and quit, and the cycle repeats, I often forget that term is used for things such as addiction or other un-healthy/ bad habits. One of my goals for 2022 is to start remembering that phrases mean different things to different people. Sorry if that came off as insensitive, as that was not the goal.

I don’t think it came off as insensitive, personally. To me it more came off as a non-native speaker using a phrase in a not-quite-correct way. It is an ideomatic phrase with a specific, defined meaning.

In any case, I agree that taking breaks and giving yourself time off is healthy and it helps your learning. People and brains need regular rest.

1 Like

I am glad it did not come off as insensitive :grinning_face_with_smiling_eyes:

I am a native English speaker. However I do feel that certain phrases that are used often have a different meaning to different people (like a lot of things in the English language) and can easily be interpreted wrong, even more so if you do not know the person you are speaking(which is often the case on forums such as these).

Sometimes people pick up a non-standard meaning of an ideom, sure. Though, ‘fell off the wagon’ is pretty universally used to mean ‘resume harmful behavior’.

https://en.m.wiktionary.org/wiki/fall_off_the_wagon

I always recommend C or Python to people (usually C). These are much more complex and bigger languages than JavaScript, and if you understand them well enough you will learn other languages a lot easier. I am not talking about a specific feature or part of a C or JavaScript. Just about thinking and logic. C can give you a really hard time with poniters and data structures, but after that, other things will, at least, look funny.

I usually don’t recommend Python as a beginner language. Javascript is my usual recommendation. C is good (and my primary language) but it can be hard to make exciting projects early on, and I think Javascript is more versatile nowadays than C.

1 Like

Keep in mind that JavaScript is still slower than C, and most of our software still runs on it. Even if you use python to write some low-level software (like drivers and firmware) they will most likley use C libraries. (You won’t of course use Python for that). What I am triyng to say is that C and C++ pretty much run everyting, so it’s still a very good starting point. It’s been out for more than four decades now, so u can easily choose how complex you want it.

I’m very aware of this all… I have been a professional C developer for years, lol. I like C. I use C every day. But it is an old language.

I recommend against C as a first language in general. And I generally recommend against using C for new projects unless you very specifically need the low level capabilities of C.

Javascript is easy to use, has higher level features, is widely used, and it is easier for beginners to make more complex projects sooner. I see Javascript as a pretty good beginner language.

Python can work as a beginner language, though I’ve found it has a lot of foot-guns because it is overly permissive (imho).

1 Like