使用命令行真的比使用可视化界面好吗?

说明:转载自己的知乎答案。没办法写得太好了,让人自我陶醉。装逼一旦开始,要怎么才能停止……

问:知乎:使用命令行真的比使用可视化界面好吗?
为什么好多人都喜欢使用命令行呢? 可视化界面不是计算机史上的进步吗?

看情况,但是具体到IT领域,很多种情况下敲代码比可视化强得多。以下详谈

首先,命令行肯定不是绝对的好啊。对于普罗大众而言,显然可视化才是必须的。 比如游戏,文档编辑,数据分析,尤其是对于*不需要培训*的普通用户来说GUI必须是刚需……GUI是计算机普及的一大革命浪潮。乔总怎么会错呢。只是世事无绝对,命令行有命令行的好。

那么什么情况下应该用命令行呢?命令行的优点有哪些呢?

1. 效率,效率,效率,还是tmd效率

2. 稳定->可移植性强

命令行一个命令可以复制粘贴,分享给天底下所有的运维开发,对于继续进行操作的程序猿而言,查一条指令,可比扒翻几篇教程容易多了。GUI软件则不然,以万恶的微软举例,每一代Office界面都不同吧?菜单都有区别吧?上一代的教程未必适用于下一个版本吧?

3. 鼠标不适合快速操作,与其来回切换鼠标键盘,不如始终使用键盘。

要提高操作效率,很多情况下都会强调要背快捷键。键盘的可输入信息比鼠标高太多了。而且键盘操作更简单,按下去就是按下去,容错性很强;而鼠标则需要点击到特定位置,对按钮的大小,视线与鼠标轨迹等等都有要求,UX设计不好的软件用鼠标很难用。况且仅仅用鼠标你是什么都做不到的,但是仅用键盘,你可以做到大多数事情。

4. 开发省心省钱

设计UI是需要成本的,调整UI更是件费心费力的工作。而程序猿写程序顺带开发一套命令行界面很轻松,UX的设计简单很多,也不需要太多美学素养。这一点在互联网行业更是及其重要的。用一个shell界面,开发测试运维压测部署全部都能做,而在Web界面里模仿Windows界面比模仿控制台界面要难一万倍。

你们看这些是不是已经很多了,但是其实还有一个很重要的内容没有讲到呢!那就是DevOps!用脚本批量化自动化地同时处理海量服务器节点,部署运维,错误回滚,平稳降级,弹性扩容等等领域,如果没有脚本和命令行是不可能做到的。计算机的发展趋势就是把“人”的因素从机器集群中剥离出去,从而极大得解放生产力,获得更稳定的业务结构。 但是命令行对新手不太友好,能否熟练应用命令行算是一个高手和新手能显著拉开效率差距的点。

comments powered by Disqus