先得承认我是标题党
写这个是因为看到下面有朋友在讨论有了ide为什么还用vi/emacs
产生了想说两句的冲动。其实CLI我现在用的也不多
因为这两年不大写程序了
除了隔三差五的用VI、sed和awk将一些个人笔记
(都是小文本文件散落在我所有的计算机里)
修改文字、转成标准csv格式、导入到我的个人笔记数据库才使用CLI
其他时候都是GUI了。
尽管如此
我在我所有的计算机上——办公室一台windows、家里一台windows、一台linux、一台mac上——都安装了一套shell工具
办公室用的是cygwin
家里的windows只安了gnuwin32我需要的工具
而linux和mac就更简单了
可以不用自己上网去下载。从个人来说
shell工具还是我离开不了的拐杖。
下面的朋友说
还在用CLI而不用ide的是怀旧
过去写程序多的时候ide还没有现在这么好用
所以后来ide好用了
却懒得学习新东西
有点这个原因。确实
我刚接触计算机的时候连GUI这种东西都见不到呢
当时写程序是在DEC VAX 780的终端前面
对着黑色屏幕上闪烁的绿色字符发呆
而那段岁月是我个人最好的岁月
没错
确实是有些怀旧。还有朋友说
用cli是写东西时候比用键盘+鼠标更方便
双手可以不离开键盘
也有点这个原因。举个例子
用vi编辑东西的时候
用hjkl移动光标比手指离开字母区去按方向键省力很多
没错
对于懒人来说
这确实是个不错的设计呢。但GUI下也有很多便利之处啊
而且单纯的怀旧也不足以让一个实用主义至上的工程师抱残守缺
对新东西的好处视而不见。所以
这些原因都对
但不足以解释为什么很多人和我一样还喜欢使用CLI。
过去我也曾经想过这个问题
我不知道别人怎么样
但对我来说
CLI对我仍有很高价值的根本原因在于CLI更符合人类工作时的习惯。等等
有朋友会说
现实世界是丰富多彩的
而GUI比CLI更接近于真实世界的情况
怎么能说CLI更适合于人呢?这个我不否认
GUI是计算机科学和工程的一个伟大进步
所以我最常用的接口也是GUI。但是。。。
(用葛优在某部王朔电影里面的对白:你就别说“但是”前面的东西了直接说吧)
想想看
如果你不是在网上浏览新闻或者是有一搭没一搭的看电影
而是在写一篇文档、写一段代码时
精力高度集中的时候
你的眼睛在“看”什么?发生什么事情的时候你会感觉“分神”了?为了详细的解释这个
可以来看看在写一段代码的时候我们通常的思维活动和行为
假设我们已经想好了这段代码要怎么写
(1)首先把它敲到计算机里去
(2)接下来运行一下编译/或者解释器
(3)如果通过
我们看看结果是不是我们想象的那样
(4)如果没通过或者结果错误
我们会看警告和出错信息
然后回头去看源代码。
仔细观察一下
我们的注意力移动其实是一个线性的过程
首先注意力集中在“看”着敲出的代码是不是自己脑子里所想的。然后我们的注意力移动到运行编译/解释器上的操作。
接下来我们会“看”结果
根据结果不同会返回到源代码或者报错信息。在这个过程里面
我们倾向于按照次序一次只做一件事情
这在人机工程学里面有个专门的名词叫做“心流(flow)”
大意是指我们的注意力流动方向。人类的心流是在长期进化中形成的
符合我们心流的模式的东西会让我们感到舒服自然
不符合的会让我们迷惑或者恼火。
OK
到这里我想你大致明白我的意思了
CLI界面将整个计算机屏幕作为一个工作窗口
强迫我们把注意力集中在当前的东西上
“先把代码写好”“然后不用管代码的事情
去运行编译器”“这个有错误
应该回头重新看源代码文件了”
每次只做/只能做一件事
一方面增加了我们对自己工作流程记忆的负担(但这个属于比较容易记住的东西)
另一方面
在流程中的任何一个环节
都不太容易分神去想前面或者后者后面的工作步骤(因为没有能够让你分神的东西)。
除此之外
在使用CLI时
我们的眼睛基本上都在“看”屏幕光标的位置
正常的光标移动是连续的上下左右、一个一个字符位置的移动
这样我们的眼睛只要“跟着”光标
就知道自己在“那里”。另外
虽然光标虽然可以跳行
但跳行的时候
我们通常已经“想好了”让它跳“几行”
也就是我们已经做好了准备“看”那里了。在这方面GUI有时候未见的要优于CLI。
比如一个经典的IDE窗口布局是上方是菜单条、窗口左边是代码树结构、中间是代码编辑
窗口下方是编译信息提示窗口。
注意我们的视线移动
首先我们在中间左侧“看”代码树
然后移动到中间右边
看代码
然后跳到上面去运行编译工具
接下来跳到下面看出错信息。视线移动的距离比较大而且有跳跃性
这样就会让人感觉容易疲劳
而且更重要的是
因为屏幕上显示了更多的内容
我们的注意力就更容易被分散。
说这些并不意味着我是CLI或者VI的死忠
而是说多种工具都可以解决问题
但一些工具会让你用起来很舒服
另外一些就不是那么舒服。对于某些情况
一些土得掉渣的工具可能会让你更容易得心应手。
为了表示我不算是gnu工具链和CLI的死忠
在这里顺便赞扬一下好像是VB最早出现的、现在很多ide都有的功能
就是函数提示
在你引用一个函数的时候
在你编辑的位置为你提供函数的正确写法和参数提示。这是一个特别优秀的设计
只是我不能肯定是不是MS最早发明的
http://forum.ubuntu.org.cn/viewtopic.php?t=159413
分享到:
相关推荐
一篇男人必看的励志文章.doc
这篇文档包含了两篇励志文章,一篇是针对大学生活的,另一篇是针对高三学生的。两篇文章共同的主题是鼓励人们保持坚韧不拔的精神,不断努力,不因困难和懈怠而放弃。 第一篇励志文章以大学生活为背景,指出很多大...
【标题】: 大学生励志例子5篇真实人物励志故事 【描述】: 文档包含5个关于大学生通过努力和毅力实现自我提升的真实励志故事,旨在激励和启发读者。 【标签】: 励志故事, 大学生经历, 成功案例 【正文】: 这篇...
标题"励志赠言-每日一句,让你每天充滿能量精选",这篇文章讲述了励志的重要性,每日一句励志语句,让你每天充满能量,激励自己,相信自己,战胜挫折,实现梦想。通过这篇文章,我们可以了解到励志的价值,学习励志...
励志音乐在年会等场合,特别是在需要激发团队士气、传递积极信息、构建共同愿景的场景中,具有显著的作用。以下是励志音乐的具体作用: ...工作中难免会遇到压力与挫折,年会是一个释放压力、重新充电的机会。励志音乐
这篇文章主要讲述了两个与高考相关的励志故事,一个是关于非洲角马的生存竞争,另一个是关于中国学生陈亦晨成功被哈佛大学提前录取的经历。 1. 高考励志故事:角马的生存智慧 - 角马的生存挑战:在非洲塞伦盖蒂...
励志图片_励志图片精选_励志图片大全.doc
10篇高考励志文章.doc
标题中的“吴奇隆的励志人生——励志人物故事ppt模板.rar”显然指向了一个关于著名演员、歌手吴奇隆的励志故事展示,这个PPT模板可能是用于演讲、教学或个人分享,目的是激励他人,传递积极向上的人生观。...
团队励志名言[文].pdf
青春、梦想、励志语录一百条 本部分内容共计25条励志语录,涵盖了青春、梦想、励志、成功、努力、坚持等多方面的励志内容。 1. 青春,是与七个自己相遇:该语录告诉我们,青春是一个探索和成长的过程。 2. 心中有...
励志篇经典文章.doc
标题中的“成功励志系列合集”表明这是一组与个人成长、激励和成功相关的资源集合。这类合集通常包括各种书籍、文章、演讲或者音频,旨在帮助人们激发潜能,提升自我,实现目标。 描述中的“成功励志系列合集,成功...
【标题】"俞敏洪一分钟励志演讲MP3"所蕴含的知识点主要集中在个人发展、励志教育和信息传播领域。俞敏洪,中国著名企业家,新东方教育科技集团创始人,他的演讲常常富有启发性,尤其对IT行业从业者具有深远影响。 ...
【标题】和【描述】中提到的"励志作文300字3篇.docx"实际上是一个文档文件,可能包含三篇长度为300字的励志主题作文。这些作文是学生学习写作的一部分,通常用于练习表达思想和情感,以及提高语言运用能力。尽管文件...
【现代中国青年励志青春故事】 这些故事展示了当代中国青少年面对困境时坚韧不拔的精神和无私助人的品质。第一个故事中的主人公,尽管身处艰难环境,却能关心并试图理解艾米的痛苦,通过与艾米的互动,他不仅找到了...
【励志口号】爱国精神励志口号三篇.doc
励志家教.doc
高考励志卡片之欧阳文创编.pdf
以下内容分别从五篇学生励志演讲稿中提炼出的知识点,以及与之相关联的丰富知识点。 首先,演讲稿本身是一种文体,它具有一定的格式和写作技巧,旨在通过公共场合发表时,能够清晰、准确地传递演讲者的思想和意图。...