DEV Community

Discussion on: Cure Impostor Syndrome with Functional Programming

Collapse
 
ssimontis profile image
Scott Simontis

Nicely written! My personal theory is that we all individually have a limit beyond which we are unable to intellectually process a collection of knowledge. The distance of this peak and the rate of change towards that point differs for everyone, which is why we are taught to simplify problems and not write clever code.

Functional programming emphasizes making tiny functions and combining those functions into more powerful functions and combining those functions until eventually we have an app. It's like writing a mathematical proof -- and I think it is why you stop being bothered by long source files when you buy in to FP...a 3000 line file, if it is ordered so you can see how the functions grow, is tolerable.

With OOP, I feel like the abstractions are incorrect. We abstract objects by taking a best guess about how they should work; we will refactor it later if it doesn't work. But unless you are an expert in that domain, you are going to have a difficult time modelling the problem accurately in a way that just makes sense.

It is not an easy journey, so travel it with a spirit of self-compassion, patience and self-love. Some of it may have been the resources I was using (I am just reading SICP now), but some concepts didn't click no matter how many times I typed in the example projects or read articles. And then as I kept coding on other things, one day I looked at that old code and it made perfect sense, and you get the satisfaction of knowing you have grown by leaps and bounds!