Nah, it’s just a steep learning curve and then you’ll be naturally using a few patterns - stuff like immutable classes, have yours function take the entire context of their operation as a variable and returning in changed in the output or check-condition, process, commit-if-still valid operation - to make your life easier.
It’s only hard if you keep trying to design your program using the usual design patterns.
(Also how easy or hard it is to use does depend on the programming language).
What’s really unforgiving is when your processing is spread over multiple machines with comm overheads in the order of milliseconds where a seemingly fine design decision can totally tank your performance.
how would it be any different the io type would be abstracted away
deleted by creator
Nah, it’s just a steep learning curve and then you’ll be naturally using a few patterns - stuff like immutable classes, have yours function take the entire context of their operation as a variable and returning in changed in the output or check-condition, process, commit-if-still valid operation - to make your life easier.
It’s only hard if you keep trying to design your program using the usual design patterns.
(Also how easy or hard it is to use does depend on the programming language).
What’s really unforgiving is when your processing is spread over multiple machines with comm overheads in the order of milliseconds where a seemingly fine design decision can totally tank your performance.