3 ms·
Although I am not a Java user, this is great news. Asynchronous code, even with a await, adds a lot of complexity. It leads to the “color” problem of functions,
by RcouF1uZ4gsC 5y ago
Although I am not a Java user, this is great news. Asynchronous code, even with a await, adds a lot of complexity. It leads to the “color” problem of functions, as well as increased complexity in languages without garbage collection (my understanding is that async is what drove a lot of the requirement for Pin in Rust.
There are also advantages in debug ability and performance tracing for threads.
It would be nice to have (virtual) threads that are lightweight and efficient enough that we did not need async for writing highly concurrent software.
I wonder if 20 years from now, programmers will look at async, kind of like current programmers look at segmented memory or manual register allocation —- something that was necessary for performance in a bygone era, but is now not needed.
- pjmlp 5y agoLets not forget that Modula-2 already had co-routines, Ada tasks, Active Oberon active objects, Concurrent Pascal, and plenty of other examples. If anything, this is yet another example of the decades how old concepts still take to become widespread across all major mainstream languages.