4 ms·
Oh come on. You're linking me a picture of a physical terminal from 1978 to tell me why "console" is a vague term? First, the whole terminal vs. terminal emula
by mehrdadn 7y ago
Oh come on. You're linking me a picture of a physical terminal from 1978 to tell me why "console" is a vague term?
First, the whole terminal vs. terminal emulator (I can tell how much you're bending over just to make this distinction) war needs to stop already. It's a pretty irrelevant distinction, like the whole STL vs. "C++ Standard Library" war people like to start online just to win a linguistic battle. Nobody talking about terminals needs to go through the trouble of saying "virtual" terminal every single damn time, when there's no relevant distinction, no reason to bring up physical terminals from 1978, and every reason to believe it's clear what they mean.
Second, your usage is definitely nonstandard. "Console" definitely does not mean "CLI". You can say "console program", but that only clarifies that you're being vague about it and don't care about the details. But "console" as a single-word noun is generally used to mean the same thing as a "terminal", which is a program an actual user uses to interact with text-based UIs (TUIs). It definitely is not used to just mean "CLI". CLI just means the program (like 'cat' or even 'sh') exposes a command-line interface, which normally implies text. But it literally doesn't need to have anything to do with a console (or a terminal)... or the presence of a UI or even a user in the first place. It can be entirely designed around and called as a sub-command in a GUI program with some argv[] and stdin. Hence the term command-line interface. That's its interface to everything else... to contrast with, say, an API (for compiling against), or an ABI (for linking against). There's no console or terminal or user that needs to be involved for every CLI program, and in normal usage there isn't even a user involved for many (most?) invocations of CLI programs. Whereas I dare say a GUI or TUI without an actual (human) user is an aberration like having a steering wheel and buttons in a car, without a way for a driver to get in. It's physically possible, but a completely abnormal design and (ab)usage.
And lastly, if you're claiming "console" isn't strictly defined, then surely you can't turn around and tell someone "You do realise the difference between a console and a terminal app?" like that?! You're literally saying there isn't a strict definition for it and also telling someone off for not following whatever definition you have in mind?
- qayxc 7y agoTerminal is a defined term - full stop. You cannot interact with a terminal without adhering to a standard (like VT100). If you're still not convinced and try to tell me otherwise, then riddle me this please: what on Earth does the "VT100-compatible" in PuTTY mean according to you? A console has its origins in hardware as well, but is a very broad term even there - from game systems to keyboards, many things can be called a console. It's just used to describe hardware or software that enables user interaction with the connected system (be it hardware or software). This is strictly not the case with CLI programs, which don't have to be interactive at all. A terminal in computer science, however, has one single meaning and definition. You might not agree with it, fine, but disagreement doesn't change facts. A VT100-compatible SSH client just ins't the same as a `conhost.exe` replacement, no matter how much you want to argue history and commonly understood usage away.
- JdeBP 7y agoWhat does the VT100-compatible mean to you? Does it mean colour? Actual VT100s were monochrome. Does it mean function keys? * https://invisible-island.net/xterm/xterm.faq.html#what_is_vt220 https://invisible-island.net/xterm/xterm.faq.html#what_is_vt... You've gone overboard. A console is a well-defined I/O abstraction in Win32, and has been for about 30 years.
- qayxc 7y agoVT100-compatible means exactly that - sending a set of control sequences to a VT100-compatible terminal app yields the exact same result as sending them to a physical device and vice versa. The fact that some emulators offer additional features like ANSI-control sequences (e.g. for colour) doesn't change that. Same way a VGA card is still EGA compatible, etc. > A console is a well-defined I/O abstraction in Win32, and has been for about 30 years. In the Win32 API yes - but the Win32 API is not a user program now, it it? Feel free to disagree, I'm perfectly fine with that. Oh, and also feel free to tell Google and AWS to rename their control panels from API console https://console.developers.google.com https://console.developers.google.com and management console https://aws.amazon.com/console/ https://aws.amazon.com/console/ since both obviously abuse the oh so well-defined term...
- JdeBP 7y agoThey are using a different meaning. The particular meaning of the word console here most definitely is a well-defined I/O abstraction, and all of your argument about how console might mean something else and therefore there's no well-defined notion of a console in Windows is going completely overboard. And it's sad that, despite the XTerm FAQ, you don't see the irony of waving around "VT100 compatible" as something supposedly well-defined, when the vt10x terminal types and the misapplied and sometimes downright erroneous notion of compatibility with various VT models has been the bane of users down the years. Here's another FAQ document. * https://invisible-island.net/ncurses/ncurses.faq.html#no_padding https://invisible-island.net/ncurses/ncurses.faq.html#no_pad...