Hacker News new | comments | show | ask | jobs | submit login

Hanselman mentions Reactive Extensions. Has anyone here built a large reactive extensions application and been happy with the readability/maintainability of the result?

I built one. And while it worked, it was never as readable or maintainable as if we had skipped Rx all together and written using other parallel paradigms.






I have written a medium-sized code base Angular 2 app with RxJs... mostly because my hand was forced by its use in the Angular 2 http service. Once I wrapped my head around it, I grew to accept and appreciate it. That said, it can certainly seem like overkill, especially when you have the abstraction of "subscriptions" and "streams" for transmitting a single value.

For our application it didn't seem like overkill. We thought it was would be the sweet spot for Rx. We pulled realtime data from a couple different sources, merged/aligned them, did some physics calculations, deposited the results in a couple of different destinations, and handled time travel/replay issues if we got out of order data.

But we kept on running into subtle issues because when we wrote the code we didn't fully grok scheduling/threading. It took us 3 months of spending 30%-50% of our time writing reactive extensions code to finally grok it, and we were highly motivated to learn. We eventually realized there was just no way the next developer who came on board could troubleshoot or debug it. So we ripped out all the reactive extension code and our app became a little less performant but a heck of lot more readable and maintainable.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: