That's not a problem, those are all individually useful when doing systems programming. Sometimes you're implementing a thread worker and you want (1). Sometimes you want to plug in existing functions and you want (2). Sometimes you want to use I/O completions so you want (3).
It makes sense to avoid this in a javascript runtime because you actually almost always want (3) there. It's too late for node to change it unfortunately. But I'm also pretty confused as to why zig, a (relatively) low level language, considers it important to remove this distinction.
It makes sense to avoid this in a javascript runtime because you actually almost always want (3) there. It's too late for node to change it unfortunately. But I'm also pretty confused as to why zig, a (relatively) low level language, considers it important to remove this distinction.