I realize that functional programming remove lots of abstract and focus only on data transformation. I no longer has to constantly thingking where do I keep these methods or properties. Whenever I refactor, separate class/method then the state go together, and I don't know where is a good place. Sometimes it's hard.
The more abstraction we added, the worse it's since all class started to do only one thing wrap around their state. At that time, I feel like why not remove all crap, and expose only a single function that do onething, and state is passed into function.
I cannot agree more. I have this project, which queue job to Redis.
github.com/yeospace/cidekiq
It's very short and simple.
I realize that functional programming remove lots of abstract and focus only on data transformation. I no longer has to constantly thingking where do I keep these methods or properties. Whenever I refactor, separate class/method then the state go together, and I don't know where is a good place. Sometimes it's hard.
The more abstraction we added, the worse it's since all class started to do only one thing wrap around their state. At that time, I feel like why not remove all crap, and expose only a single function that do onething, and state is passed into function.
And I couldn't agree more with your comments.
FP feels somehow liberating, but ask me again in ten years time ;)
Thanks for the comment,
Dan