The same reason tar and dd and practically everything operates on blocks not bytes, plus the same reason the shell doesn't act until eol delimiter, the opportunity to edit before submit.
I think talk could get away with it because on a shared local host both sides are accessing the same local physical resource directly, no tcp packet per byte.
The default `talk` and talk service were trash, and often there were protocol errors that would cause you to hang forever, vainly waiting for an answer (classic talk used UDP only.)
Eventually, a few competing offerings sprang up, in the form of `ntalk`, `xtalk` and `ytalk`. These were superior in every way, and sometimes required swapping out the service attached to inetd. Once you did that, it was a fantastic way to chat live and direct on Unix. Way better than the `write` we started with!
I think talk could get away with it because on a shared local host both sides are accessing the same local physical resource directly, no tcp packet per byte.
https://en.wikipedia.org/wiki/Talk_(software)
Eventually, a few competing offerings sprang up, in the form of `ntalk`, `xtalk` and `ytalk`. These were superior in every way, and sometimes required swapping out the service attached to inetd. Once you did that, it was a fantastic way to chat live and direct on Unix. Way better than the `write` we started with!
I've been looking for something similar I saw once, it was a chat widget connecting to everyone looking at the same webpage.
But it was called something like "aarrrgh!!" (the pirate), and I can't remember the name of the damn thing!