Saturday, January 27, 2007

Linux vs. Windows

  对用户而言,什么样的软件才算是好的?这里我们假设软件的功能没有缺陷,没有不可原谅的 Bug,售后服务也能够做好——总之,没有人为的错误掺杂在软件中——软件的好坏是否有固定的标准呢?

  Linux 和 Windows 是截然不同的两种文化体系,它们各自阵营下的很多软件也风格迥异。我曾经是 DOS 和字符界面的痴迷者,但随着微软操作系统的发展,我不得不逐渐放弃那种给人充分的控制快感的字符界面,让 Windows 替我完成许多我至今都无法理解的复杂任务。在 Windows 下,好的软件似乎倾向于“你的事情我作主”,要完成一件任务,只要找到合适的软件,把需要处理的数据塞给它,在另外一头接着就行。如果一个软件的易用性做到了极致,就会出现一种奇怪的效果:当用户比较聪明希望玩出点小花样时,就发现他们那点小聪明只会让这种软件变得更难用,因为软件在设计时就是为蠢人做了优化的,耍小聪明的人反而无法享受到这种恩惠,除非他们聪明到能够把握设计者逻辑的水平。

  拿 Google Desktop 举例,用户最好不要去自定制什么,按其默认的配置阅读新闻,查看 Web 剪辑,当这个软件不存在似的去浏览网页吧,让 Google 去分析你的操作行为和习惯偏好吧。只有这样你才能充分体会到“自动化”的乐趣。

  而在 Linux 下,我比较认同 ppip 的一篇文章,那就是“Linux 的每一天都是战斗”,为了充分控制它,你不得不拼命学习它。Linux 这个操作系统简直坦诚到了极点,它明确告诉你自己的设计逻辑,比如说所有的系统资源都是文件,所有文件都有读、写、执行等权限等,为了学会使用这个系统,你将不得不理解它的设计逻辑。而 Linux 下的软件就更体现了一种“你的事情你作主”的思想——“既然你已经了解我的游戏规则,就在我的规则下随心所欲的玩吧”。这听起来很酷,不过真正实施起来就不那么惬意了,尤其是当你需要完成一些日常任务时。“No News Is Good News”,在 Linux 下,一个正确执行的命令通常不会给出任何提示信息,即使你以 root 权限运行 'rm /' 把整块硬盘上的数据都干掉——Linux 把你当做老大,不过你得确切地了解怎么做老大才行。

  在 Linux 下做老大的最大挑战莫过于驾驭 Emacs 这匹野马,仅这一个软件就可以完成世界上最精准的心理测试也不能完美解答的问题,“你喜欢自己作主还是听凭别人发落”。尽管我曾经是一个非常喜欢字符界面的人,到现在也只学会了保存(C-x C-s)和退出(C-x C-c),这充分说明我离最 Geek 的程序员还有相当的距离。(也或许我已经被 Windows 毒害太深?)但异常烦琐的快捷键组合还不是 Emacs 的全部,如果愿意的话,你甚至可以自行配置 Emacs 的各项功能键,为 Emacs 编写插件程序等等。老练的程序员可以用它上网,收发邮件,聊天,打俄罗斯,简直可算作一个操作系统了!如果你爱自由,进入 Emacs 的世界吧,因为那里是天堂;如果你不爱自由,远离 Emacs 的世界吧,因为那里是地狱。

  总结起来,软件究竟该给人更多自由权利还是更多懒惰的权利?我觉得无法回答这问题,这似乎是一个文化和价值取向的问题,没有理由因为哪个阵营的人多些就否定另一方,而更重要的是,任何一方的消失都会使另一方失去其独特性。

No comments: