Help with study style / functional programming

Background: I am trying to learn French, because my wife is from there / family trips. I currently work in IT and almost every day I am spending time learning at work. Finally, we are preparing to move cross country later in the year. T the past few weeks I have just felt exhausted when it comes to trying to wrap my head around the concepts of Functional Programming.

I started back on Nov 28, 2016 and have studied / worked on FCC projects for at least 2 hours a day (including the holidays). I have no coding experience aside of playing the game Human Resource Machine. I made it through the Intermediate Algorithms sections and admittedly had to check the answers for hints a couple of times, but I felt confident that I understood what was going on. This leads me to the last week: 3 challenges in on the Advanced section and I decided to stop and get more familiar with functional programming. I feel lost and like I am forgetting things I have already learned. Even on the older challenges that I have completed, I feel like I can’t remember what I did to complete them. Callbacks, .reduce, .call, .apply,… I can explain what these do and I understand them relativity enough to work through simple things. But each step I take when trying to study or do the Advanced Challenges, I feel like I am forgetting or not grasping what I am learning. I have watched videos and read books, but nothing is sticking because I am not actually getting to do it enough to grasp the basics before being thrown to the wolves with these challenges.

Is it suggested to take a break every now and then or should I keep up the pace and eventually this stuff just clicks? Also, does anyone have any suggestions on reading material that isn’t as dry as W3Schools or MDN? I have sitting on my desk in the next to read pile: Eloquent JS and the first two books of YDKJS.

Both of these things. The pace doesn’t need to be relentless, but consistent, and volume isn’t as important. If you feel like you’re burning out, take a few steps back. Watch programming videos that walk you through projects rather than heavy concepts. Start at the beginning of the map and review old material. Even just reading the names of functional methods every day will keep them fresh in your mind and build familiarity (this is true for any vocabulary).

Don’t sweat it if you’re not getting these things in isolation. Programming concepts make sense when programming, so as you use this stuff in real projects, they will click. You won’t do yourself any favors by studying until you hate programming.

2 Likes

For javascript, functional programming (FP) seems to mean just a few shortcuts like map and reduce and etc. This is"toy" functional programming. To be honest, you can do the same thing with loops and just a few more lines, and if you’re not comfortable with the so-called FP, just forget it and use loops. Some people really like this sort of thing. I find it a nuisance to have to remember what gets the + sign, what the - sign and so forth.

Real functional programming is a rather deep subject, and there are computer languages - the most notable is Lisp - which are based entirely on functional programming principles. This is much broader than javascript FP. If you are taking a test and require functional programming, just look it up and do it, then forget it and go back to more basic structures. Wait until you’re fluent enough that FP comes naturally- it will happen eventually, and if it doesn’t - so what!

I will probably get some flack for this recommendation.

Definitely don’t beat yourself up over this.

1 Like

I really am loving this stuff, even frustrated, this is a lot of fun. Its just more fun when it clicks! Thank you for the responses.