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

Former Netflix employee here; I think I can give some context (and I'll ping @jhusain to let him know this is here if he wants to chime in). These tutorials were created initially to share functional programming concepts with Netflix engineers who were unfamiliar with FP. Jafar created these exercises and taught classes using the material here as the primary source material for the courses. This was all back in 2012 into early 2013 when Netflix was going big with Reactive Extensions.

What good is Rx when a huge number of your team don't really get FP--let alone FRP.

I know a lot of folks have found these exercises useful. I think the odd format of not showing further material until an exercise is complete was more tailored to the structure of the class that these accompanied rather than something meant for standalone presentation online. That said, the exercises are still quite valuable.




I know this is pedantic, but are we still calling Rx as FRP? It doesn't even work well to Rx's advantage (simplicity): grokking Rx can be much easier than grokking FRP, which is much more pure and restricted (though also more powerful).


RxJS author here. We on the RxJS team have never called RxJS FRP as we do not have a continuous notion of time, instead we have a notion of virtual time. That and we do not distinguish between events and behaviors as they all are Observable objects.


Virtual time as in Jefferson's Time Warp system?


As in you can specify the time at which things execute and swap out the concurrency model at any time. This makes it perfect for testing: https://github.com/Reactive-Extensions/RxJS/blob/master/doc/...


It doesn't seem to be very related. Virtual time as defined in jefferson's seminal paper is a variation of Lamport's virtual clocks used in distributed discrete simulations; it is the analog of virtual memory.

The name clash wouldn't be such a big deal (systems is far away from webdev), but time warp is also very related to transactions and FRP in providing abstractions to deal with change in reactive programs.


It's not. Virtual time can mean anything in this case as in not real time and it can be swapped out at any point.


I am going through it just now. I like not having the further material available, as it makes me try a lot harder to get the solution and not scroll down.

That said, I go some strange syntax error, as its a JavaScript editor, and doesn’t highlight unmatched braces or things like that (useful in JavaScript, as it seems to encourage heavy nesting). Not as nice to learn in as a proper IDE.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: