Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CUI vs. CLI #282

Closed
netpoetica opened this issue Feb 8, 2015 · 8 comments
Closed

CUI vs. CLI #282

netpoetica opened this issue Feb 8, 2015 · 8 comments

Comments

@netpoetica
Copy link

I noticed that the section regarding tools for building Command Line Interfaces is titled "CUI", which was brought to my attention by a PR to awsome-cpp. However, a quick Google search for "CUI" or "CUI Applications" yields very few results for this being a thing. Is it common to refer to CLI as CUI in the Go community? Or are people trying to make it a thing?

If you're open to a pull request, I can change the heading from "CUI" to "CLI", which is, as far as my common knowledge and Google search abilities show, a much more well-understood name for this.

@dmitshur
Copy link
Collaborator

dmitshur commented Feb 8, 2015

I think CUI is a typo, it should be CLI. There's nothing Go-specific about it as far as I know. I've never heard of CUI either.

That PR would be welcome (unless someone else chimes in and explains the situation).

@dmitshur
Copy link
Collaborator

dmitshur commented Feb 8, 2015

Okay, it might not be a typo, but it's certainly a lot less common than CLI, so I think we should change it to CLI.

See #58 for origin of the term in this repo. Even in that PR, it was unclear what CUI stood for.

@mholt
Copy link
Contributor

mholt commented Feb 8, 2015

It's not a typo.

CUI = Console User Interface. It's a kind of GUI that runs inside the terminal, like curses or, for example, this: https://github.com/buger/goterm or this (Node.js): https://github.com/yaronn/blessed-contrib. Sometimes also called a Text User Interface (TUI) but that's even less common. (top and htop are also CUI apps, if you've ever used those.)

CLI = Command Line Interface. Less of a GUI and more what you're used to on the command line, just line-by-line text input/output.

I think we should leave CUI its own category.

@dmitshur
Copy link
Collaborator

dmitshur commented Feb 8, 2015

Ah, my bad. I missed that these were indeed libraries for text/console UIs, not command line UIs.

In that case, CUI is definitely more appropriate and should not be changed to CLI, since that would be incorrect.

@netpoetica
Copy link
Author

I see. CUIs in this sense still are CLI applications though - it's a bit like a square/rectangle thing. I don't want to try to make this an argument of semantics, but essentially the idea of "CUI" is basically "libraries for advanced command line interfaces."

My only concern is that one might (and maybe it's just me) see "CUI" and think - "where's the section for command line utilities?" For me, I would pass right over it and assume it was nothing I needed since I've never heard of it. I'm really just arguing here for what is most readable/findable/user-friendly - totally cool with leaving it alone if you guys think I am the only person who sees "CUI" and writes it off as "never heard of it, must be for some uniquely specialized field of research."

@mholt
Copy link
Contributor

mholt commented Feb 8, 2015

There are CLI utilities under the "Utilities" category.

So here's what I would propose, if we were to revise these categories:

  • Command Line (or "Terminal" or "Console" - any preference?)
    • Standard CLI
    • Advanced Console UIs

@netpoetica
Copy link
Author

@mholt I think that is a valid representation, which solves findability as well as keeping these two things distinct for the people who are keen to the differences. awesome-nodejs uses the section title "Command-line utilities".

"Command Line" is the most understandable to me. I think "Console Applications" could be a close second, but it reminds of Visual Studio, and is less UNIX-y than "Command Line".

@AristarcoP
Copy link

Um... I think you're confusing terms., CLI is indeed Command-Line Interface but CUI stands for Character-based User Interface. You know, the user interface programs like Borland's Turbo languages IDEs. Or programs like Word for DOS or Sidekick that even had a character-based calculator. I think this CUI abbreviation was later changed to TUI (Text-based User Interface) at some point.
That's what I know. Might be wrong. Most likely. 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants