This is true if you want to output ascii and mostly true for ANSI colours but otherwise I think this is very false. To point out some of the ways that it is false:
- different terminal (emulators) support different abilities
- those abilities are controlled with different control codes
- there isn’t much of a standard. There are some de-facto standards for advanced features from whichever terminal emulator first implemented them but there is a lack of bug-for-bug compatibility
- Unicode, character widths, rtl, etc. Unicode matters for things like this plotting program. What happens if you draw a double-width character? And then position your cursor ‘half-way’ through it?
- there is terminfo but it works in a janky way and you can get all sorts of problems if eg the remote box doesn’t have your terminal (or all it’s new features) in the terminfo file. To some extent you can copy over terminfo files but that doesn’t sound much like ‘standardized protocol’ or ‘cross-platform applications with minimal code’ to me.
- some apps don’t look at term info and eg just assume your terminal supports the same escape codes as the author’s
I basically feel like the above comment is making broad claims about the advantages of terminals however those claims are only narrowly true and importantly, aren’t true for the situation being talked about in the comment which those claims are made in response to.