Reactive Programming Critique

The recently-concluded Principles of Reactive Programming

Martin Odersky

  • Good overview of using mutable code for event-based simulation
  • Event-wheel model is an old idea, but solid

Eric Meier

  • rambling presentations without any summaries
  • duality aside-remarks & category theory not really necessary
  • sales job for Rx library
  • complex api without good reference documentation
  • suffers from immediate non-determinism
  • potentially heavy memory footprint needed for re-imposing ordering on disordered events
  • difficulty in making choices (no clear select/alternative)
  • complex higher-order manipulation - clever but hard to understand
  • unnecessarily complex compared to equivalent CSP-based lego
  • race conditions are sometimes allowed - especially MultipleAssignmentSubscription()
  • source code samples have syntax errors
  • Rx library is alpha-grade version with bugs
  • callback hell. The stated objective, to tame callbacks, is not really met because many functions take higher order functions that are simply callbacks (typically returning Unit a.k.a. nothing).

Roland Kuhn

  • well-paced clear delivery
  • large API - a lot to learn
  • Akka compared and contrasted with Erlang at times
  • too much reliance on bleeding edge ideas not yet ready for production use
  • command-source persistence is based on replaying and will be non-deterministic because actor operations are generally non-deterministic. This means that the persistence may not be consistent.
comments powered by Disqus