4 ms·
A command line interface lets you communicate to the computer using language. Learning a language is something you can practise and get better at until you find
by black-tea 8y ago
A command line interface lets you communicate to the computer using language. Learning a language is something you can practise and get better at until you find that you're able to communicate very complicated tasks that the original authors of the programs had never even imagined.
Graphical user interfaces are a caveman interface. You go to the market, see what's on offer, point to it and grunt. That's fine as long as you see what you want. But you'll never do anything that you can't already see.
It's not easy, though. Nobody pretends that it is. But learning to read and write wasn't easy either and you managed that. What if our education systems didn't enforce that? How would you ever know the power you're missing out on?
- sharpercoder 8y agoBut most commandline languages are inconsistent, have inconsistent abbreviations, have inconsistent command parameter naming/defaults, contain acronyms of incomprehensible words, have plain weird names, contain inconsistent or outright incorrect documentation... A language to do stuff is actually a great thiing, especially if it can produce readable and reproducable objects (programs). However, I get really scared looking to most commandline scripts. It's an incomprehensible mess people only can start to grok after years of experience with the particualr commandline tool.
- black-tea 8y agoSo? English is horribly inconsistent but you seem to be doing just fine. We know bash etc. aren't ideal. That's why Python was invented. But the reason they stick around is because they are useful and people do use them day to day. Are you really going to forgo language completely just because it doesn't meet your superficial idea of perfection?
- sharpercoder 8y agoHuman languages are also forgiving on the receiving side which is not true for computer languages. 1 wrong character and yiu get an error. This is an important difference when discovering and even using it,l.
- viraptor 8y ago> But most commandline languages are inconsistent, have inconsistent abbreviations, have inconsistent command parameter naming/defaults, contain acronyms of incomprehensible words, have plain weird names, contain inconsistent or outright incorrect documentation... And how is this different for GUIs? Location / icons / description / ... depends entirely on the application. Some will have hotkey handles, some won't. Same app on a different system will look differently. (Possibly with different layout) Creating a discoverable GUI takes as much will and attention as a good set of CLI options.
- sharpercoder 8y agoWith a language, it is far more important. In a gui I can just click around and see. With tuis, I need to enter a command and hope it is the right syntax.
- BenjiWiebe 8y agoYes tuis. But clis commonly have a --help option, and/or a man page.
- luord 8y agoIDK about you, but I find it writing a command and seeing the result is far, far faster than clicking around. I would spend far less time at my computer (would only use it for work) if it only had a CLI, but I would never, never use a GUI (beyond text editors, of course) for most of the grunt work, the CLI is simply faster and, and this is the most important issue, almost everything you do with it can be automated. I couldn't even begin to imagine having to navigate the endless dialogues in IDEs to configure every little thing I would do in the command line, I'd give up programming altogether.