4 ms·
I think FP is hard because (a) lack of libraries/bindings (b) impedance mismatch with underlying host ecosystem. In every personal project where I have used an
by sriram_malhar 5y ago
I think FP is hard because (a) lack of libraries/bindings (b) impedance mismatch with underlying host ecosystem. In every personal project where I have used an FP language (Elm, Elixir, Haskell) I have run into these problems. Then I have to put my project aside to get into the weeds to get some bindings working. Often the bindings will be abandonware, or work just well enough for you to make progress until you run into severe enough problems. This has happened for me using OpenCV, ZBar, async I/O, threading, lower-level kernel APIs, databases, just to name a few.
Often I think, I could have solved the problem so much faster if I had just stuck to Python or Javascript, or in the language the library was written in. In the end, you end up swimming upstream. This includes the effort of handing it over to someone else.
Elm tries hard to provide an impedance-mismatch free environment for UI development, until you reach a point where you want to do something just slightly different; then it becomes painful. Sure you can integrate Elm with JS using ports or even React with Elm, but creating a polished UX experience is a different level of effort.