- 如果那个司机买了一辆摩托,然后发现很难适应用手旋转握把来控制加速,而不是脚踏板,他可能会报怨摩托也应该装油门踏板。
- 如果那个司机有一个老婆两个孩子,他也许觉得摩托车只能载一个乘客是个缺点。他会建议重新设计摩托车,使其可以两两肩并肩的坐四个人。
- 如果那个司机想骑摩托车,却发现无法控制平衡,总是摔倒,他也许会建议让摩托车也安上四个轮子。
- 如果这个司机发现转弯时自己身体总会倾斜,那他会建议在摩托上装稳定器使其可以在转弯时总保持正直。
- 如果这个司机怕摩托车被偷,他也许会报怨摩托没有门,让小偷容易得手。
- 如果这个司机觉得头盔碍事,他也许会建议在手把上装一个安全气囊以替代烦人的头盔。
这些情况下他都错了,因为他想用摩托车替代汽车,他想让摩托做所有汽车能做的,他以为摩托的工作方式与汽车相同,比汽车缺少的功能只要嫁接上就行了。
同样,一些好心的Linux新手也建议把Linux变成他们所熟悉的样子,结果也因为相同的原因没有任何所获。也许Linux和Windows都可以被用于完成相同的任务,但汽车和摩托也是。这并不意味这你可以直接从一个换到另外一个,也不意味着它们的特性可以相互替换。
太多的人以为从Windows转移到Linux就如同宝马换奔驰一样,认为其控制方式应该相同,他们的经验直接可以派上用场,而两者之间所有的差别也仅仅是表层的。他们想:“在公路上行驶时,我需要汽车,在使用电脑时,我需要操作系统。汽车的工作方式都相同,因此操作系统的工作方式也应该都相同。”但这并不准确。“在公路上行驶时,我需要车,在使用电脑时,我需要操作系统。我知道如何开汽车,但我不懂摩托车。我知道如何使用Windows,但我不懂 Linux。”----这才是准确的。
Windows用户必须意识到他只是一个有经验的Windows用户,而不是有经验的电脑用户,就像汽车司机仅仅是汽车司机,而不是所有种类车辆的司机。Windows用户必须意识到当他在尝试Linux时,他又成为了一个新手,就像汽车司机去尝试开摩托。 Windows必须要愿意去学习完成相同任务所需的不相同的手段,就像汽车司机必须要去适应替代方向盘的手把和他从没戴过的头盔。并且他们要作好心理准备:这些“不同”并不意味着“劣等”。
这个简单的事实给有基础的Windows用户造成了更大的麻烦。他们来用Linux时带着根深蒂固的Windows操作习惯和一种态度:“谢谢,我知道怎么用电脑!”问题是,他们并不知道,他们只知道怎么用Windows。当面对另一种操作系统时,这些高级用户可能会遇到最糟的问题:他们有太多的经验需要遗忘掉。
当一个新手说“我不知道”,接着就开始在论坛上探索、提问时,一个Windows高级用户可能会说:“我知道怎么做,我就这么、这么、这么做,然后……居然不行!愚蠢的系统!”接着他们又说:“如果我这么有知识的都搞不定,那新手就更不要想了,Linux离桌面应用还有十万八千里呢!”他们恐怕没有意识到他们的知识帮了倒忙,使他们比经验少的用户遇到更多的问题。他们错误的以为Linux是一种可以和Windows做相同事情的软件,而事实上是它是一种不同于Windows的软件,做的事也不同。不是Linux做与Windows相同的任务做得不好,而是它很好的完成了一个替代的任务.
- 这是因为CLI有很多优势:CLI通用;每个Linux系统都有CLI;所有程序都能从CLI执行;远程访问CLI也特别方便。而GUI则不然:有些Linux机器没装X11窗口系统;有些软件不能通过GUI菜单访问;通常远程使用GUI工具也不容易。
最后,可能会有不同GUI前端能做相同事情,别人无法知道你到底装了哪一种。
所以请记住,当你问“我该怎么弄……?”的时候,大部分情况下别人都会告诉你怎么通过CLI解决。这并不意味着问题只能从CLI解决,而是恰恰反映了在软件发展过程中CLI相对于GUI的重要性。
- Windows是完全以GUI为中心的,它是一种基于GUI的操作系统,其CLI是烂得可以(但很快就要改善了)。几乎没有什么Windows软件是没有GUI的。这也使人们认为GUI是一个软件必不可少的重要元素。但对于Linux来说,软件一旦能工作就可以发布了,只有等它足够稳定、没什么bug、功能也很丰富时才有必要增加GUI。
请试着把一个没有很好GUI界面的软件理解为内部测试版,而不是一个已经完成的产品。FOSS还远远没有“完成”,它还在不断的改进中。只要时机成熟,它完全可以变得用户友好。但在大部分情况下,使它工作的更好要比使它看上去感觉更好重要得多。你应该高兴今天就有机会能用上未来软件的功能,而那些只喜欢漂亮GUI的人就享受不到了。FOSS并没有到达它旅途的终点,它才刚刚上路呢。
最后你还需要记住的是:软件的GUI部分经常是分开提供的,甚至有可能是完全不同的开发人员独立开发出来的。所以如果想要GUI,那一点也不奇怪你必须分开安装,而不是一次性装好。
诚然,为了获得Windows式的GUI,分开安装确实增加了额外的步骤,但这不影响这样一个事实:你现在就可以通过“像Windows一样”的GUI做几乎所有事情。请不要忘记GUI通常只是最后一步,Linux绝不会只图外表而不重内涵的。
第三:Linux是特别设计给知识丰富的老手使用的,而不是无知的新手。有两个原因:
- 无知乃与生俱来,但它很短暂,知识才是永恒的。也许要几天、几周、几个月才能让你从“Linux新手”成为“中等的Linux用户”。但你一旦达到这个水平,你就可以一直用下去了。
为了使软件对新手来说比较易用而放进一大堆代码就如同给所有自行车焊上永久的平衡轮。也许这会让起步变得比较容易,但之后呢?我相信你现在肯定不会想买一辆带平衡轮的车。不是因为你是一个反对用户友好的怪人,而是平衡轮对你来说毫无用处了,除了新手谁都用不上,放在那里反而碍事。 - 不管软件多好,用户要能用得好才行。就算有世界上最安全的门,如果你不关窗、不锁门或者忘拔钥匙,小偷一样畅通无阻;就算有世界上最好的引擎,如果你加错了燃料,一样跑不了。Linux把所有的能力都交到了用户手里,这也包括破坏它的能力,当然没人想这样。想要保持Linux正常的运作,多学点让自己知道自己在做什么是唯一的办法。如果用户可以很容易的操作那些他根本不了解的功能,那么他也很有可能会造成破坏。
第四:从上面的文字中,你觉得FOSS有可能通过吸引典型的Windows用户而获得任何好处吗?
不急,你可以重新看一遍,我等着。
Linux和FOSS的指导原则是“做好的软件”,并非“做Windows的替代品”。一群典型的Windows用户对Linux的唯一贡献就是报怨。他们报怨什么?“它工作得不像是在Windows上那样。”
不,它不像。如果Linux工作得就和Windows一样,那就太烂了,它将会是一个没人要的劣质品。人们如此热烈的喜爱Linux正是因为它不像Windows,它不会替你做每件事,它不会假设你永远是个无知的新手,它不会所有把内部的工作都隐藏起来。
Windows是载着你四处跑的司机;Linux则给了你钥匙并让你坐上驾驶座。如果你不会开车,那是你的问题、你自己的错。只要你肯问,很多人都会帮助你。如果你提建议类似于装备定速巡航系统,你定是有所领悟:汽车还是自己控制在自己手上,只不过可以省不少力气。但是如果你尝试去劝说别人Linux真的真的需要一个司机,那你真该忏悔一下。
“但这将使Linux更加主流啊!”,新手叫到。
也许是这样。但是Linux成为主流,开发者们又能从中得到什么好处呢?Linux是免费的,就算Linux获得了更大的用户群,Linux的创造者们不会因此多****,Linux论坛上的人们也不会由此获利。Linux的目标不是“获得更大用户群”──那是私有软件的目标。
Linux的目标是创造真正好用的操作系统。开发者们一直都在忙于增加功能、减少bug和改进现有的代码,他们可没有闲功夫去举着广告牌宣传他们的东西有多好。你不难发现在他们眼中什么才是最重要的。
有意思的是这样的模式使Linux的用户群不断增长,Linux开始很渺小,后来却非常巨大。什么原因使Linux得到如此广泛的认同?原因是它一直将质量视为焦点。用户被Linux自由和质量所吸引,而这只有FOSS能够提供。Linux能够发展壮大正是因为它并不在乎自己有多大。开发者们仅仅关注如何使它工作得更好,于是他们吸引了那些想要一个能工作得更好的操作系统的用户。
如果突然把这一切都抛弃,相反让Linux去关注如何替代Windows,那就等于抹杀了Linux赖以成功的要素。有些公司已经看到了Linux成长潜力,希望从中掘出宝藏。但GPL成为了他们的障碍,他们无法把Linux买出Microsoft的价。“Linux如果还坚持开源的话那肯定长不了,”他们说,“因为没人能这样****的。”
他们没有意识到把Linux变为私有软件是杀鸡取卵的短视行为。正因为Linux是FOSS,也没有人想用它去替代Windows,Linux才能发展到今天的规模。Linux繁荣的原因恰恰在于它在与Windows的竞争中选择了一条Microsoft永远无法对抗的阵线:开放和质量。
对于大多数Windows来说,Linux只是一个劣质的Windows摹仿品,它看上去功能不够丰富、集成度差还特别复杂。对于这些用户来说, Linux是个很差的操作系统。的确是这样:Linux没有满足他们的需求。他们需要的是一个简单易用的操作系统,不用任何学习就能上手。
Windows是设计给非技术人员使用的,他们普遍感到Linux很难用。尽管情况不是这样,但这种误解还是可以理解的。
事实上Linux很容易使用,真的非常非常易用。那为什么他们都不这么看呢?因为“易用”一词含义被严重的扭曲了,“易用”现在被理解为“在没有预先学习的情况下用起来也很容易”。但那真的不是“易用”的含义,而是“易懂”。其区别就如同:
- 一个保险箱,上面有一张纸条写道:“如需开此保险箱,请先把播盘播到32,然后到64,然后到18,然后到9,最后拧动钥匙,同时向上提起把手即可。”
和
- 一辆小汽车,只要按动摇控器上的“开锁”按钮就能打开车门。
开车锁相比要容易得多,对吧?只要靠近汽车,一个按钮就能搞定,不像保险箱还得精确的来回转动播盘。然而,对于两种锁都不会开的人来说开保险箱锁要比开车锁容易:保险箱上写有清楚的打开方法,而开车门的按钮甚至都没有装在车上。
会者不难。Linux也是这样,它很易用,但是学起来辛苦,只有当你愿意投入时间去学习Linux时你才能发现它为什么简单。不可避免,你越是把任务分解为简单的步骤,完成这个任务所需的步骤就越多。
让我随便来举一个简单的例子:把文本中的五行(段)从中间移到尾部。
如果用微软的Word、写字板、记事本等等“用户友好”的Windows文本编辑器,最快的办法是:
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-Shift-Down
- Ctrl-X
- Ctrl-End
- Ctrl-V
(这里假设你使用键盘操作。不然,你需要好几步鼠标托拽操作和可靠的自动滚屏。)
在vi里只需如此:
- d5d
- Shift-g
- p
论“用户友好”性,vi可谓要多差有多差,但它完成同一操作所需的击键次数却比微软的软件少。为什么?因为Vi注重于功能,而微软更注重“用户友好”。微软把所有事情都分解为简单步骤,所以完成同样的任务要花多得多的步骤。
这使得不论是什么样的文本编辑任务,一旦你学会使用,相比之下vi都更加高效、易用。如果你不知道“d5d”的意思是“将五行文本放入缓冲,然后将其从文档中删除”,那么可能你用起vi来就会感到很痛苦。但如果你已经知道了,那用它起来就是随心所欲了。
所以当一个新手看到有经验的vi用户可以如此快速、方便的做事时,他自然会很容易得出结论:编辑文本,vi要比Word强。然后他自己去尝试,运行vi,看到的是满屏的~s,打字,什么反应也没有。
后来他弄明白了文字录入和命令模式,接着就想用vi做事。然而对vi过于有限的知识依旧使他步履维艰,在他能真正掌握vi之前还有太多的东西要去学习。然后他开始报怨:“vi如果能像Word那样易用就好了。”
但实际的问题是:“我不知道怎么用vi,学起来太麻烦了。”这是他自己的问题,他在指责自己的问题而不是软件的。 有成千上万的人乐意于使用vi,他们从没报怨过说:它太难用了,必须改!
请相信我,如果他能写出一个软件既像Word那样“用户友好”又像vi那样功能强大,那他一定能赢得无数掌声。事实上,他应该还能赢得诺贝尔极度智慧奖,因为目前还根本没有其它人能做到这一点。但他如果仅仅是诉苦vi太难用,那只会遭到嘲笑,因为vi没问题,问题在他自己。
(译者:
图1,左:你有没有给Niffle先生打电话,关于他的连接问题?右:有。
图2,左:那分析结果是?右:经典PEBKAC问题。
图3,左:PEBKAC?右:键盘和椅子之间存在的问题。)
这就像买了达芬奇的画笔然后报怨自己还是不会画画。画家的技巧才是成就名作的关键,画笔本身创作不了蒙娜丽莎,它只是一个依赖使用者技巧的工具。而这种技巧必须通过练习才能获得。
vi正是如此,很多Linux软件也一样。一些新手总是报怨这些文本编辑器、包管理器或者命令行本身太复杂、太不够直观。
在你坚持Linux某些东西必须修改之前,请问自己这样一个问题:“那些老手们是不是也有同样的意见呢?”
如果答案是“不”,那问题在你自己这一边。如果其它人都能很好的使用,你为什么就不行呢?你有没有花时间去学呢?或者你是否打心底里就没有想去尝试呢?
“用户友好”和“底层的功能性”常常是矛盾的。那些小按钮和下拉菜单确实能使软件变得易于使用,但对有经验的用户来说它们却可能是麻烦。这就如同拿着地图和指南针从A走到B,与看着路标走的区别一样:谁都会跟者路标走,但这会比知道如何直接过去的人多走一倍的距离。
(译者:蓝色线条:“简单”路径;红色线条:直接路径)
如果我想在Excel中粘贴公式的值,我只能通过菜单选择:编辑->选择性粘贴->粘贴数值。我不想在这些“友好”的菜单、子菜单和对话框中选来选去,我就想直接完成。老实说,如果重设快捷键,再记录一些宏,我完全可以通过键盘来指挥Excel和Word做绝大部分的事。
但这就不是用户友好了,对不对?它还是需要用户投入大量时间来研究这个软件。Linux要求你花时间学习如何使用现成的功能,而“用户友好”的软件却要你花时间自己创造功能。
如果你喜欢这样,没问题,你就这样做好了。只是你应当看到:问题出在你自己的知识水平上,而不是软件本身。一旦知道如何使用,所有的Linux软件都超级好用。但如果你不知道,那它就显得很难使,这并不是软件的错。
现在也许你开始觉得Linux有点态度问题。它不想要用户,它不想让自己的用户感到方便……它只是给那些自命不凡的l33t h4xx0r5用的!(译者:l33t h4xx0r5又可写作leet haxxors,指不受电脑系统权限所约束、对自己的电脑技巧极有自信的人,通常指黑客)
这完全脱离事实。Linux当然想要用户,它当然不想让事情变得困难。正相反:按照Linux的定义,难用的软件就是垃圾软件。
但是你要知道,它的定义可能和你的不同,也和“传统”的私有软件的定义不同。
Linux想要那些真正需要Linux的用户。这不仅是说需要一个名头,而是所有的东西:自由、开源的软件;自己修补软件的能力;坐上驾驶座的感觉,一切尽在掌握。
这才是Linux,这才是Linux关注的。人们因为讨厌病毒、讨厌蓝屏、讨厌间谍软件而转去用Linux也是可以理解的。但这些人并不需要Linux,他们只想要一个没有那么多毛病的Windows。他们不要Linux,那Linux凭什么一定要他们呢?
但如果他们因为病毒和间谍软件而去尝试Linux,然后慢慢接受了Linux的理念并开始被Linux自身的特点所吸引,继而想要使用它,此时Linux也想要他们。
在你决定转而使用Linux之前,问问自己“我为什么要转?”
如果答案是“我想要一个能赋予用户所有的权力操作系统,我明白它要求用户必须学习使用。”:那就选Linux。也许你要付出很多时间和努力才能达到你想要的高度,但最终你能得到一台完全按照你的想法工作的电脑。
但是. . .
如果答案是“我想要个没那些毛病的Windows”:那么安装一套干净的Windows XP SP2;设好防火墙;安好杀毒软件;永远不要用IE浏览网页;经常更新;每次装完软件都重启;还要多了解安全方面的知识。我自己从Windows 3.1用到95、98、NT和XP,从来没有中过病毒和间谍软件,也没被黑过。Windows可以很安全、很稳定,但是只有你花力气维护它才行。
如果答案是“我想要个没毛病的Windows替代品”:那买一台苹果Mac。我听说OS X的Tiger版很棒,苹果机器的外观也很漂亮。也许你为此要花钱买一台新的机器,但你能获得你想要的东西。
这两种情况下,都不要去尝试使用Linux。你会对Linux的软件和社区感到失望的。Linux不是Windows。
没有评论:
发表评论