Generally I see the idea that "technology X makes the problems of concurrency go away" is a bad smell.
In the JVM world I am always seeing people screwing around with Actors and things like that and failing and then after days of suffering I break out some simple Executor and I have it working correctly in 10 minutes and performance tuned in another 10.
Look at the example of the LMAX Disruptor to see how adults face reality and develop real solutions instead of snake oil.
I like ReactiveX because it provides a way for thinking about these things that is cross language
The only ones I've seen that delivered [with caveats] were Concurrent Pascal, Ada's Ravenscar, Eiffel's SCOOP, and recently Rust. SCOOP got the most CompSci work with a Java port, one proving no deadlocks, one proving no livelocks, a formal verification in Maude that caught problems, and one modification to almost entirely eliminate performance penalty.
So, it can happen but does rarely enough to arouse strong skepticism. I usually don't buy it.
In the JVM world I am always seeing people screwing around with Actors and things like that and failing and then after days of suffering I break out some simple Executor and I have it working correctly in 10 minutes and performance tuned in another 10.
Look at the example of the LMAX Disruptor to see how adults face reality and develop real solutions instead of snake oil.
I like ReactiveX because it provides a way for thinking about these things that is cross language