I generally agree but it depends on the application and the computer purpose / input you will most use.
Like.. it doesn't make much sense to have a CLI/TUI for an image editor.. if you start using things like sixel you are essentially building a GUI that runs in a terminal, not a TUI. The same happens with videogames, video players and related entertainment applications.
But like I said, I do generally agree. I'd even argue that when possible, GUIs should just be frontends that ultimately just call the corresponding CLI programs with the appropriate parameters, avoiding duplication.
BTW
top 50 comments