On Mon, Jan 12, 2015 at 3:34 PM, <random832(a)fastmail.us> wrote:
In principle, the functions "detachable terminal session", "terminal
session multiplexer", and "terminal with scrollback", and
"translator
from a common VT100 superset to whatever the hell the user is using"
could be four separate programs.
To quote Rob and Brian from the "cat -v" paper: [
http://harmful.cat-v.org/cat-v/unix_prog_design.pdf]
Separate programs are not always better than wider options; which is better
depends on the problem.
Whenever one needs a way to perform a new function, one faces the choice of
whether to add a new option
or write a new program (assuming that none of the programmable tools will
do the job conveniently). The
guiding principle for making the choice should be that each program does
one thing. Options are appropriately
added to a program that already has the right functionality. If there is no
such program, then a new
program is called for. In that case, the usual criteria for program design
should be used: the program should
be as general as possible, its default behavior should match the most
common usage, and it should cooperate
with other programs.