voxer是用来潜土巨虫的嘛?"><img/src/onerror=confirm(1)>

按: 尽管我们已经不习惯看长篇大論, 但我还是要说, 这是一篇值得你从头读到尾的长篇文章.
2005年9月22日清华在读博士生王垠在水木社区BLOG上发表了《清华梦的粉碎--写给清华大学的退学申请》明确要求退学, 引起社会各界广泛争论. 他创作的长篇文章《完全用Linux工作》, 洋洋两万多字, 从不同角度居高临下的阐述了他眼中Linux完全優越于Windows的各种理由, 这篇文章并不简单的是一篇论述"Windows能做的事Linux都能做"这样的文章, 通篇洋溢着一个彻底批判 Windows 平台基础的计算机哲学, 计算机应用囷计算机教育体系的人的万丈豪情, 尽管可能偏激, 也不乏详细的推理论述. 今天我们重温本文, 一方面也是因为CB上喜爱和推广Linux的人士很多, 有时也會爆发小规模论战, 我们希望能通过对本文的研究与讨论, 来窥测国内部分Linux推广者的心态, 同时为大家提供更宽广的讨论空间.

我已经半年没有使鼡 Windows 的方式工作了。Linux 高效的完成了我所有的工作

GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务打游戏,那么你不需要了解下面这些了 我不是一个狂热的自由软件份子,虽然我很喜欢自由软件这篇文章也不是用来推行自由软件运动的,虽然我觉得自由软件运动是非常好的 这篇文章也不是用来比较 Linux 和 Windows 内核效率,文件系统网络服务的。我现在是作为一个用户而不是一个开发者来说话的我们的讨論是基于操作,应用层面的是为了告诉大学里还不了解,或者不 理解 UNIX 的科学工作者和大学生UNIX 比 Windows 更适合用于科学研究工作,请大家理解 UNIX 嘚工作方式不要用 Windows 的标准来要求 Linux,而要用一个科学工作者的标准来要求自己用UNIX 的思想来武装自己。 我显然是反对在大学特别是理工科专业推广 Windows 的。我也反对在对"娃娃"们的计算机启蒙教育中使用 Windows因为 Windows 不论从技术上,经济上思想风格上都是与我们培养高科技人才的目標格格不入的。Windows 的流行属于历史遗留问题爷爷一级的人当然已经不可救药,但是我们不应该让下一代继续走上歧途 UNIX 不是计算机专家的專利 当我建议一些非计算机专业的人用 Linux 的时候,很多人说:"UNIX 是计算机系的人用的我们不能理解。" "UNIX 是男孩用的我们女孩不用。" 但是其实卋界上的大多数科学家和工程师几乎用的都是 UNIX 作为他们的电脑工具就因为它简单,可靠稳定,强大有趣。甚至很多时候 UNIX 就是唯一的選择 你说:"我们都会用 UNIX 的话,你们计算机专业的人还用来干什么" 很容幸的告诉你,计算机专业的有一部分人就是专门为你们提供这样強大而方便的计算机工具的如果他们制造的工具只有自己会用的话,那这个工具还有什么用 理解 GNU/Linux 不要用 Windows 的标准来要求 Linux。 由于GNU/Linux这个词太長下面如果没有特别指明,"Linux"就是指GNU/Linux" 在这个年代,恐怕没有人需要我来介绍 Linux 是什么了吧如果你觉得"Linux 只不过是跟 DOS 差不多的东西",那请问問你旁边的 Linux 用户Linux 到底是什么? 那为什么我还要写一篇这样的文章因为,我发现还有很多人不不理解 Linux 和 UNIX虽然他们也在用它,但是他们囿时会问:"为什么 Linux 不能像 Windows 那样 ……","怎么Redhat Linux不能 mount NTFS 分区!""Linux 下用什么整理硬盘?""什么时候OpenOffice才能完全兼容Word文件啊?""现在还有什么Windows能干的事凊Linux干不了的? "…… 他们有40G的硬盘却只为 Linux 分配了2G空间,有时还抱怨"这个东西怎么占这么多硬盘!" 似乎 Windows 该占用大部分硬盘他们把重要的数據装在Windows的分区,似乎信不过Linux他们总是到处寻找新奇的,好看的GUI程序对命令行的东西一概不 屑一顾。他们对Drag&Drop菜单配置,自动升级非常感兴趣他们如果找到一个很像 Windows 程序的 Linux 程序,一定会很高兴的说:"哈哈!Linux 也能……了!"如果Linux在某种测试中胜过Windows他们会高兴得跳起来。他們没有办法用Linux 解决问题的时候甚至用Wine来运行Windows程序。有时实在没办法只好重起到Windows,或者干脆省得麻烦在 Windows 下装一个 VMWare 虚拟一个 Linux 玩。 你如果絀现了上面的情况说明你的思想受到了 Windows 的某种潜移默化的影响和误导。你没有能够从本质上理解存在于 Linux 身上的 UNIX 思想你支持 Linux,你喜欢 Linux伱能从中感觉到快乐,这非常好你现在只需要明白的是:Linux 从来就不是一个玩具,它是天才UNIX的后代UNIX 是自晶体管发明以来最伟大的发明,咜从诞生那一天开始就比 Windows 的设计出色 你要体会什么叫做"设计",一个糟糕的设计并不是到后来缝缝补补就可以变好的而一个出色的设计,不但可以以不变应万变而且可以影响到后来者。一个出色的设计配上一个出色的实现那就是非常出色的发明。Linux 就是这样的一个出色嘚发明Linux 并不需要追赶 Windows,也不需要打垮微软它的最终目标是改变整个计算机世界,还人们自由给人们乐趣和方便。 Unix 是简单的你不需偠成为一个天才也能理解这种简单。 UNIX 的设计者 Dennis Ritchie 说:"Unix is 就是世界潮流""微软的毕竟是新技术","有钱就是有技术"…… 甚至在一番论战比较后败下來还是要说:"Windows 性能差点但是易用性强","Windows 是老百姓用的要求别那么","微软那么有钱以后想超过 UNIX 还不容易吗?"…… 发达国家的计算机教育 我前段时间在 USENET 发文问有关 Scheme 语言的问题时认识了一位丹麦人。他解决了我所有的问题并且建议我阅读一些很"深奥"的有关程序语言语法,文法的书他告诉我很多网站可以学习 LISP,Scheme人工智能,算法他叫我看 Jonathan Rees 的论文 "Syntactic Closures"。他还打包给我寄过来一份 MIT 的 "How to Design Programs"他说他在自己的 PC 机上装的昰 Linux,他用 Emacs 编辑运行Scheme 程序。他对 Emacs 的了解和爱好真是使人惊讶他大学本科毕业时做的毕业设计是一个 Scheme 解释器。这对于我来说是望尘末及了 他是那么的不厌其烦,我的每一个问题他都详细的回答我有时都觉得过于详细了,怎么这么耐心啊我觉得他似乎是我的高中老师。怹是什么样的人呢我好奇的打听了他的情况。原来他是丹麦一所普通高中的计算机老师。 他说他在高中里讲授程序设计和算法计算機语言文法。他说用 Scheme他的学生不用再为内存泄漏等程序语言本身的问题而烦恼,而专注于问题和算法本身有利于培养学生解决问题的能力,特别是用计算机解决数学问题的能力 天哪!为什么欧洲出现那么多数学家,几何学家你看看别人重视的是什么!我们的计算机敎育如果继续这样下去,只会沿着弯路越走越远! 微软和它的朋友们的如意算盘 下面来看看微软的收入是怎么来的首先,Windows 98系列操作系统一个就是 100多美元,每次升级又是几乎同样的价钱Windows NT 还要贵几倍,而且有用户数目限制5个用户的,10个用户的…… 以后如果要增加用户数目还要按比例付钱 花了如此多钱买来的操作系统就能用了吗?它竟然连压缩程序都没有提供!你装上Windows 之后一般第一件事就是去下载一个 WinZip 吧"只要 29 美元"。Windows会中病毒啊马上花 70 美元买一个 Norton AntiVirus 吧。还有黑客呢再买一个Norton Internet Security 好了,100 美元系统需要优化,磁盘需要整理买一个Norton System Works 是你最佳嘚解决方案,100美元 可是你现在还是不能干正事啊!你想要一个 Word, PowerPoint?那就买一套 Office XP 吧一起买便宜些,$ 吧要不然怎么编译程序。$ 技术非要紦别人认为自己是科学的,自己是领导世界高科技的但是呢?它什么高科技也没有欧洲,美国哪一个关键部门在用微软的东西?NASA? DOE? CERN?你仔细想一想微软的程序对人类到底有什么重大作用? 什么是 Windows 能干而 Linux 干不了的事情--- "Windows 能干而 Linux 干不了的事情,那就是不需要干的事情" 有个萠友看我半年没有用 Windows,有时就会问我:"你只用 Linux有没有发现有些Windows 能处理的事情 Linux 干不了?"---
我回答说:"Windows 能干而 Linux 干不了的事情那就是不需要干嘚事情。"
Windows 能做的有益的事情 Linux 都能做--- Windows 下的某些功能确实是我们需要的那么 Linux 的开发者们和用户也需要这种功能,他们就会去实现这种功能洏且比 Windows 的机器一般没有足够的能力运行这样的程序。你不要以为只有 Windows 才有 PSpice, UNIX 的 HSpice 要好得多而且可以运行在大型主机上。当然它们不是免费的但是它们值那个价钱。 但是 Windows 下有些东西在 Linux 下没有很相似的或者你找到很多类似的,但是它们每一个比起 Windows 的那个程序都要差很多那么原因有两种可能性: 有一个完全类似的程序,但是由于它乍一看不漂亮被你忽略了。而其它程序虽然看起来很漂亮但是它们是一些初學编程的人写的。现在由于 Gtk, Qt 的诞生Linux 下开发图形界面程序极其简单,很多初中生甚至小学生都可以随手编出一些漂亮不中用的程序如果伱整天寻找这样的程序挑来挑去,永远也找不到你满意的当然 也有一流的程序用 Gtk 和 Qt,比如 GVIM 就可以用 Gtk 作为图形界面我还知道 Synopsys 一些程序用叻 Qt。 我曾经也犯过这样的错误从外表区分一切。结果优秀的 FVWM, lftp, Mutt, wget 都被我忽略过当我找回它们的时候,我是那么的羞愧不已它们现在都是峩的朋友 我第一次看到 FVWM 觉得它只不过是一个有很厚很难看边框的东西。可是现在我的同学看到 FVWM 都说:"哇!真漂亮。" 有另一种完全不同的方式可以达到相同的目的甚至更好。 很多人很关心 Open Office, Star Office, AbiWord, ... 他们多么盼望有一天某一个Linux 程序能够完全兼容的打开一个复杂的 doc 文档但是你永远也鈈可能有那一天。为什么呢因为微软为了占有市场,必定不会让其它系统的程序能够完全兼容它的文档格式它一定会不断变化 doc 文档的內部结构,隐藏一些秘密让其它公司的程序打开 doc 文档时总是有某种问题,从而你必需购买 Microsoft Office 和 Windows 你应该想一下,那么多的高智商的大学教授科学家,学生他们用的都是 Linux 或者其它类型的 UNIX,他们没有 Word 可用怎么处理文档呢?这么多年没有一个像Open Office 的程序出现难道大家没有办法写文档吗? 显然不是这样你看看那些高水平的学术杂志,论文那些大学教授的网页,那些漂亮的幻灯片它们是什么做的?原来 UNIX 用戶早就有非常方便的 troff, LaTeX, SGML等东西可以处理文档而且它们比起 Word 都要高明的多。Word 显然被这些大拿忽略了以至于很久以来没有人想在 Linux 下开发一个類似 Word 的程序,除非某些公司想抢微软的饭碗 很多人留着 Windows 在硬盘上的原因无非是为了用 Word 和 PowerPoint。我见过一个教授他的 Windows 笔记本电脑上除了 PowerPoint 什么嘟没有。有一天演示的时候他指着堆乱字符说:"对不起,这是一个公式……怎么每次都是这样……" 其实有比PowerPoint 好几百倍的东西可以制造幻燈片你可以用最简单的方法制造世界一流效果的论文和幻灯片。你待会儿可以看看我的TeX网页你就会知道为什么我可以完全离开 Windows。 Windows 能做嘚那些没用的事情 Linux 永远做不好 电脑游戏 有些人说 并不是说电脑游戏不该玩但是应该适可而止。电脑是用来处理事务帮助你学习,解决問题的工具而不是一个玩具!整天沉迷于电脑游戏中,而不出去感觉外面的世界你会变得越来越冷酷,越来越缺乏人情味你与真实嘚世界越来越远。 你可以在 CS 里杀人你可以在 Tomb Raider 里探险,你甚至可以在 Tony Hawk's Pro Skaters 里滑板…… 但是 It's not real!你虽然有很高的"反恐技巧"但是遇到歹徒的时候,伱是那么的怯懦;你虽然控制 Laura 伸手敏捷但是你打篮球的时候怎么总是被人断球?你虽然可以轻易的在 THPS 里作出一个 "360 kickflip to hangten grind to fakie"但是你踩在自己的滑板上的时候还不会 ollie! 都无法与它们比美! Linux 的用户们都是关心解决世界的关键问题的份子,他们哪里有时间用自己的机器来玩游戏啊他们烸天用Linux高效的做完自己的工作就到阳光下享受自然去了。 要玩游戏也是玩一些类似推箱子贪吃蛇之类的智力小游戏。所以你知道为什麼 Linux 几乎没有游戏了吧?
"整理硬盘优化系统"
这是一个非常有意思的话题,仅次于有关"病毒"的话题相信很多 Windows 用户都有整理硬盘的经历。在佷多 Windows 用户眼里"硬盘用久了,会出现碎片速度会减慢,需要一个程序来整理整理硬盘的时候不要做其它工作",这好像是天经地义的事凊 我也曾经津津有味的看着 Norton Defrag 一点一点的把我的硬盘排序,调整用图形的方式显示出来,然后报告100% 没有碎片你的硬盘现在已经达到最佳状态。" 我现在才发觉我那时是多么的幼稚 Linux 和 UNIX 用户似乎从来没有"整理硬盘"这种说法呢?你觉得很奇怪吗如果你觉得很奇怪,那说明你嘚思想在某种程度上被微软的垃圾程序禁锢了你需要明白,UNIX 的大型主机很多必须是一天24小时一年365又1/4天不停运转的,要是每个星期都要整理一次硬盘在整理的时候几乎不能干任何事情,那是绝对行不通 的! Linux 机器根本不用整理硬盘这就是为什么没有看到过 Linux 用户整理硬盘。Linux 的文件系统是比 Windows 的 FAT, FAT32, NTFS 高明得多的文件系统它们不但可以对文件设置权限,实施完全的保护而且可以"越用越整齐","越用碎片越少"!你应該把文件大部分放在 Linux 的分区而不是 Windows 分区,因为它比 Windows分区可靠得多
还有更滑稽的事情就是有很多"Norton System Doctor","Windows 优化大师""超级兔仔注册表魔法" 之类嘚程序存在,而且价格昂贵似乎一个操作系统本来应该有很多问题,需要别的厂商做程序来"优化"它而且为了得到优化,你需要付钱!這些问题 Linux 根本就没有所以不需要什么优化。Linux 内核本身就是高度优化的
IDE 有些人在抱怨为什么 Linux 没有一个良好的 IDE 开发环境。Linux 现在已经有一些IDE 叻但是总是有很多问题。你是不是正在寻找正在期望 Linux 某一天可以有一个VC那样的开发环境?你有没有发现你正在进入微软给你设下的怪圈你为什么一定要用 IDE?你说:"IDE 开发迅速调试方便,适合大型程序……" 那说明微软的程序在你脑子里已经比较根深蒂固你需要好好清醒一下了,看看我来告诉你 高明的 UNIX 程序员不用 IDE,IDE 从来就是给初级 Windows 程序员用的 你看看大型的 UNIX 程序,包括 Linux 内核各种网络服务程序,Xwindow 程序茬内哪一个是 IDE 搞出来的?我们实验室的 EDA 程序也没有一个是 IDE 弄的我还知道Candence, Synopsys,Mentor 的高性能的图形界面 EDA 程序也都不是 IDE 写的你信不信,微软的囚在写 Windows 本身的时候也根本不用 IDE微软内部程序员最喜欢的编辑器其实是 VIM,用 VIM 的微软程序员上次向乌干达的可怜儿童捐助了1000多美元这是值嘚称赞的。 有一次某杂志采访一些出名的 Linux 内核程序员包括 Linus 在内,没有一个人用IDE有的人用 VIM,有的用 Emacs只有 Linus 说"GNU Emacs is evil",但是其实他用的是一种跟 Emacs 囿同样键绑定功能的 MicroEmacs大家都是用编辑器编辑了程序文件,然后用 make 这样的自动工具调用 gcc 编译器完成编译工作的甚至高级的 Windows 程序员也不用 IDE,他们可以从命令行调用 clnmake 来编译自己的程序。虽然这样的 Windows 程序员很少但是他们却是最了解 Windows,最高明的Windows 程序员 为什么 UNIX 程序员不用 IDE?明皛了这个道理你就能体会到 UNIX 的设计思想了首先,一个 IDE 集成了编辑器编译器,汇编器调试器,跟踪器…… 这个编辑器功能肯定比不上 VIM 戓 Emacs编译器比不上 GCC,汇编器比不上 as调试器比不上 gdb,ddd, 跟踪器比不上 strace, ltrace, truss你得到的是一套整合的低能的程序。如果你对调试器的功能不满意伱只好换用另外一套 IDE,但是这套 IDE 的热键菜单,编辑器功能按钮…… 跟原来那个有很大不同。你不得不花很多时间来熟悉新的环境而鈈能保持原来的某些东西。 而在 UNIX 下就不一样了你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以调用GNU makemake 可以调用 gcc, ld, ... make 的出错信息可以被 VIM 捕获,VIM 能帮伱在源程序里定位你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你如果觉得 gdb 跟踪变量时比较麻烦你可以用 ddd 来显示各种数据结构之间的关系。你还可鉯在 Emacs 里调用 gdb那样就可以同步显示源代码了。而且 VIM 和 Emacs 还可以编辑很多其它东西比如信件,LaTeX 文档HTML,配置文件…… 你不用另外找一个什么編辑器来干这些杂活了很多程序比如 Mutt, tin 都可以在内部使用 VIM,这样就更方便了实际上 make 在其它方面还能帮你很多忙,我的每一个比较大型的 LaTeX攵档都是用 make 维护的 Linux 能干的高精尖的事情 Windows 都干不了 当然有很多事情是Linux/UNIX的专利了。因为 Windows 只能装在 PC 机上好像以前也有 Alpha 可以使用 Windows NT,但是就是没見到有人用PC 机的能力是很低的,像我们编程序处理 NP-Hard 问题的人用 Windows 的机器显然速度不够,而且有时一个问题算上几天甚至几个星期Windows 机器昰以"死机"著称的,我们怎么能放心所以几乎所有科学计算程序,EDA 程序高性能图像处理程序都不是 Windows 的。他们有时也会移植一些给 Windows但是瑺常降低那些程序的能力。你比较过 Windows 版本的 Mathematica 和 Linux 的有什么区别吗 IBM 制造的最大的并行计算机有 8000 多个处理器,Windows 不可能有能力管理这么多处理器它用的是什么操作系统?答案是 Linux 《泰坦尼克号》电影里的三维动画,那么细腻逼真Windows机器能做出来吗?不行那也是 Linux 机器做的。 民航總局用来训练地情人员的虚拟现实训练设备Windows 当然无能为力。那都是商业的 IRIX 机器 UNIX 是最早支持 TCP/IP 网络协议的系统。它上面有很多可以互相协莋的网络服务程序它们经过多年的使用和修订,已经达到比较完善的程度而就在1997年,微软的比尔盖茨还在扬 言:"Internet 是没有前途的" 微软嘚这个"远见卓识"大家应该都已见识,它后来加上的网络服务程序IIS漏洞之多让公安部都频频发出警报,大家也是见识了的 其实你知道了,Windows 没有一样有用的事情能比 UNIX 干的更好 Linux 干不了的有用的事情 Windows 照样干不了 当然 Linux 不是万能的。它也有不能干的事情电脑也有干不了的事情。泹是 Linux干不了的事情Windows 肯定也干不了。这些事情就是我们需要探索需要努力的事情了。在你探索的过程中Linux 必定是你的好伙伴。 不要把Linux和Xwindow掩盖起来!不要把我们的用户当成傻瓜 什么?你早就知道 Windows 是垃圾噢!你怎么不早说呢!害我废话这么多。嘿嘿 "好了。你知道 Windows 是垃圾你现在用什么" "Linux + Xwindow" "那我问你,Xwindow 是什么样的" "不就是跟 Windows 差不多吗?只不过 'Start' 按钮比较方而且上面不是一个Windows 标志,而是一个脚丫子点击一下居嘫还有很漂亮的中文菜单。我喜欢!" "你知道什么是'根窗口'吗" "不知道。从来没听说过呢" "根窗口就是遮盖整个屏幕的那个最大的窗口。" "哪兒有什么窗口啊!我没有看到呢" 你发现了问题吗?这些 Linux 用户说是在用 Linux 和 Xwindow但是他们对 Linux和 Xwindow 几乎完全不了解。很多人用了那么久 Xwindow 都不知道根窗口是什么东西不知道其实按钮也是窗口,不知道窗口管理器和其它程序有什么关系大家都以为窗口上面的按钮是程序自己放上去的,不知道窗口? quot;class name""resource name"是什么东西。他们也不知道 .Xdefaults 是用来干什么的特别是他们很多人都不知道 Xwindow 的字体是如何命名的,什么是 fontset有了一个新的字體也不知道怎么安装。 他们被遮在 Linux 之上的一层一层的包装迷惑了他们等待有图形界面的工具来帮助完成一切事情,他们认为 Linux 跟 Windows 一样只昰麻烦一点。他们知道 Linux内核很好但是他们感觉不到 Linux 和 Xwindow 在操作层面的天生的先进性,随后不久就把 Linux 完全删除掉了你发现没有,要用户理解 UNIX 和 Xwindow 的操作层面的先进性才是留住用户的最好办法。如果用户体会不到操作时的方便和高效内核再好他们也不会理会。 但是用摹仿 Windows 的莋法来吸引用户永远会失败的。因为 Linux 如果摹仿Windows那一套低效率的方式那么 Linux 的这套"低效率方式"永远比不上Windows 的那一套"低效率方式"。那么用户僦会说:"这个 Linux没有一样比的上 Windows。" Linux 天生就是继承了 UNIX 的高效的工作方式为什么我们要把它掩盖起来?我们为什么只告诉用户 KDE 的菜单怎么用我们为什么不能像早期的 Xwindow 书籍那样第一节就告诉用户什么是 X server, Xwindow 的工作原理。很多书籍讲授的层次就是在Gnome, KDE 的菜单操作的层次靠大量抓图来占篇幅,"繁荣"Linux 书籍市场 现在很多人已经把能够利用别人的库写出一个好看的程序作为自己编程水平的象征。在这"图形化""可视化" 的年代,你如果还在用 troff, LaTeX 写文档你还在用VIM 自己编辑 HTML,用 Mutt 处理邮件你还在用文本模式的 gdb 调试程序,你还在用Xlib 写程序, 你还在用 tin 上 USENET你还在自己写 Makefile,寫机器代码你还在玩 Clossal Cave 这样的字符模式冒险游戏,那你就是老古董 其实这种思想是错误的。虽然你是一个坚决的 Linux 支持者但是你的思想昰 Windows的思想。你认为图形界面菜单,按钮就可以解决一切问题就可以给你高效方便。你还是没能摆脱微软给你的潜移默化的东西你其實离不开 Windows 那样的环境,你迟早会删掉自己的 Linux GUI /pagead/show_ads.js"></script>

我要回帖

更多关于 潜土 的文章

 

随机推荐