回 帖 发 新 帖 刷新版面

主题:发个老贴(一口气看完)

Windows 能干而 Linux 干不了的事情,那就是不需要干的事情


完全用 GNU/Linux 工作
理解 GNU/Linux
“UNIX 是简单的,你不需要成为天才也能理解这种简单。”
由于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 玩。
你支持 Linux,你喜欢 Linux,你能从中感觉到快乐,这非常好。你现在只需要明白的是:Linux 从来就不是一个玩具,它是天才UNIX的后代。UNIX 是自晶体管发明以来最伟大的发明,它从诞生那一天开始就比 Windows 的设计出色。Linux 并不需要追赶 Windows,不需要打垮微软,它的最终目标是改变整个计算机世界,还人们自由,给人们乐趣和方便。其它UNIX很多都已经败在Linux脚下,更何况 Windows!
你如果出现了以上的情况,说明你的思想受到了 Windows 的某种潜移默化的影响和误导。你没有能够从本质上理解存在于 Linux 身上的 UNIX 思想。UNIX的设计者 Dennis Ritchie 说:“Unix is simple. It just takes a genius to understand its simplicity.” 但是我不这么认为,因为我不是一个天才,但是我却勇敢的把Windows完全删除掉,半年之后我体会到了 UNIX 的思想和好处。因为我相信这样的信念:“Windows 能办到的事 Linux 一定能办到,而且办的更好。”
这小节开头的话应该改成:“Unix 是简单的,但是在这个冲斥着 Windows 错误观念的世界,你需要信念和勇气才能理解它的简单!” 我下面就告诉你一些我理解到的东西。
微软的地位
微软的名声在欧洲和美国的大学里,特别是在计算机系里之坏,大家可能有所耳闻。我认识的 MIT,Stanford 的教授,贝尔实验室的专家,甚至一个欧洲小国的高中计算机老师都绝口不提微软的名字。在他们眼里,微软只是一个没有真技术,专靠在落后国家商业宣传和垄断经营的小公司。这个“小”并不是说它人少,钱少,而是说它先进技术少。
我上次和王益合作写了一个算法演示程序,那个算法是贝尔实验室一位科学家Steven Fortune很天才的发明,为了程序能够被身边大多数人使用,我们选择了 VC+MFC 作为平台。我在分析算法时还得到 Fortune 很热情的鼓励,寄给我一份资料,还多次回信耐心的给我讲解了很多细节。但是程序完成之后,我把样品发给 Fortune,他回信说:“对不起。我机器上没有 MFC。” 话说的很客气,但是我已经感觉到了他对 Windows 的不屑。然后我把 MFC 静态编译进程序再发给他,他就没有再回信了。他显然不是瞧不起我,而是确实有难处。
你能感觉到这位科学家对微软和 Windows 是什么态度了吧?不是反感,而是他心里根本没有 Windows 这个东西!微软在高科技领域没有发展,那么它怎么生存呢?到发展中国家去发展一下,他们的人民还对电脑一无所知,我说不定甚至可以打入大学的计算机系呢。我送他们软件,我捐钱盖大楼,我找图灵奖获得者来演讲!
好了,现在全国的大学包括清华,几乎所有人机器必装盗版 Win2000, Office XP,学校的选课系统是非IE不能正确浏览,论文用 Word 编辑,演示用ppt做,连 863 项目都用 VC 写程序了。我很久以前就看到一份报纸说,“微软为什么不严厉打击盗版?” 这篇文章说,微软非但不打击中国的盗版行为,而且有放任之趋势。放长线吊大鱼,“以后我要你们加倍的来还我!” 确实如此,它的目的快实现了。
Windows 笼罩下的中国计算机教育
说句丢脸的话,比尔盖茨很久以前是我的偶像…… //blush
在中国,比尔盖茨被很多人奉为神圣,“少年电脑天才”,甚至有的人提到他的名字就做出“抱拳对天”的姿势。很多人谈到微软的“新技术”,“高科技” 都是眉飞色舞。各种“VC编程圣经”,“深入了解 Visual C++”之类的书,在开头几页都会出现非常肉麻的字眼,“在那团团的混沌中,一个开天辟地的精灵,Windows 1.0,诞生了……”
微软的软件被这么多人盗用,那么人们是怎样使用这些盗版程序的呢?先看看电脑培训班,教的都是一些 DOS 命令,打字,Windows 基本操作,Word 文档处理,PowerPoint,高级班可能有 Excel,Access…… 参加各种微软认证考试,MCSE, MSDE 的人络绎不绝,考试辅导班都贴出了“280元。考过为止”之类的字样,考试参考资料更是昂贵,有些电脑书店整整两书架都是“Microsoft Press”的东西。我有个同学参加认证考试,每门考试都要200多元,而且你一次考不过再考,又要交钱。他后来还津津乐道跟我说,看我,花了XXXX (一个四位数)元考过了微软认证,得到一张比尔盖茨亲笔签名的证书和价值6000元的 Windows XP 内部发行版。
“电脑要从娃娃抓起”,我们再来看看娃娃们学的是什么。大部分家长给孩子买了电脑之后,他们首先就会装一个盗版的 Windows,然后买来盗版的游戏开始玩。如果哪个孩子会用 Delphi 编程序,那可不得了。报社记者,电视台争相报导,说,某某学校的初中生某某,在别人都还在玩电脑游戏这种“初级阶段”的时候就已经用 Delphi 写程序了。镜头还瞄准了他显示器上面的像框中的比尔盖茨头像!
我刚进入大学计算机系时还不懂得什么是操作系统,因为我以前只用过“中华学习机”。看到新入学的同学们各个谈论的都是 “Windows 95”,“VC”…… 我简直觉得我落后了好几十年一样,整个一土人,根本跟他们答不上话。好不容易找到一个比较熟的同学问了一下:“你们天天谈论的瘟95是什么啊?”答: “win95就是一个操作系统,跟DOS是一类。”“朵死是什么?” “你连DOS都不知道是什么?别在计算机系混了。” 学校上课当然不讲VC编程之类的东西,但是上 Pascal 的老师有一次就说:“嗨,我们学校真是落后。现在别人都用 C, C++,甚至 VC 了,我们还在讲 Pascal。不知道什么时候才能有VC课啊。你们出去也是要用VC的,只好自学了。” 有些同学很多时候上课都捧着一本很重的“Windows 编程大全”之类的书,根本没有听课,吃饭时就念念有词的跟我说,“代码的优化是无止境的”,“匈牙利命名法真是伟大的发明” …… 这就是中国很多大学计算机系的情况。
感觉到无知了?这不是偶然的,而是微软长久以来的如意算盘。它要让无知的大家都把它奉为神圣,它要让支持UNIX, Xwindow的人一旦说 UNIX 好,Xwindow 好的时候,都被一群人围着说教:“这个 Windows 也能做到”,“你对 Windows 有偏见”,“微软才是主流啊”,“你敢瞧不起 win2k?”,“.NET 就是世界潮流”,“微软的毕竟是新技术”,“有钱就是有技术”…… 甚至在一番论战比较后败下来还是要说:“Windows 性能差点,但是易用性强”,“Windows 是老百姓用的,要求别那么高”,“微软那么有钱,以后想超过 UNIX 还不容易吗?”……
发达国家的计算机教育
我前段时间在 USENET 发文问有关 Scheme 语言的问题时,认识了一位丹麦人。他解决了我所有的问题,并且建议我阅读一些很“深奥”的有关程序语言语法,文法的书,他告诉我很多网站可以学习 LISP,Scheme,人工智能,算法。他叫我看 Jonathan Rees 的论文。他还打包给我寄过来一份 MIT 的 "How to Design Programs"。他说他在自己的 PC 机上装的是 Linux,他用 Emacs 编辑,运行 Scheme 程序。他对 Emacs 的了解和爱好真是使人惊讶。他大学本科毕业时做的毕业设计是一个 Scheme 解释器。这对于我来说是望尘末及了。
他是那么的不厌其烦,我的每一个问题他都详细的回答。我有时都觉得过于详细了,怎么这么耐心啊?我觉得他似乎是我的高中老师。他是什么样的人呢?我好奇的打听了他的情况。原来,她是丹麦一所普通高中的计算机老师!注意我换了人称代词!
她说她在高中里讲授程序设计和算法,计算机语言文法分析。她说用 Scheme,她的学生不用再为指针越界,内存泄漏等程序语言本身的问题而烦恼,而专注于问题和算法本身。有利于培养学生解决问题的能力,特别是用计算机解决数学问题的能力。
天哪!为什么欧洲出现那么多数学家,几何学家?你看看别人重视的是什么!我们的计算机教育如果继续这样下去,只会沿着弯路越走越远!
微软和它的朋友们的如意算盘
下面来看看微软的收入是怎么来的。首先,Windows 98系列操作系统,一个就是 100 多美元,每次升级又是几乎同样的价钱。Windows NT 还要贵几倍,而且有用户数目限制,5个用户的,10个用户的…… 以后如果要增加用户数目还要按比例付钱。这个奇怪的现象被通用汽车公司的总裁比喻为:“你买的微软牌汽车最开头只有一个座位,每加一个座位你得向汽车公司付钱,每开100英里要大修一次,每过一年要换一次引擎。”
花了如此多钱买来的操作系统就能用了吗?它竟然连压缩程序都没有提供!你装上 Windows 之后一般第一件事就是去下载一个 WinZip 吧,“只要 29 美元”。Windows 会中病毒啊,马上花 70 美元买一个 Norton AntiVirus 吧。还有黑客呢?再买一个 Norton Internet Security 好了,100 美元。系统需要优化,磁盘需要整理,买一个 Norton System Works 是你最佳的解决方案,100美元。
可是你现在还是不能干正事啊!你想要一个 Word, PowerPoint?那就买一套 Office XP 吧,一起买便宜些,?$459.90。
那些程序不会用啊!那些菜单怎么设置,到底有什么功能啊?看“帮助”也学不会。买本书看看吧,我推荐“Special Edition Using Microsoft Office XP”,不贵,?$27.99。这本书里面大部分是屏幕抓图,还是买一本旧的比较划算,?$17.85。
你如果只是当个秘书,上面的差不多还凑合了。可是你有更高的追求,你想成为 Windows 程序员。首先买一个 Visual Studio.NET 吧,要不然怎么编译程序。?$494.95。
为了紧跟微软动向,世界潮流,不能不注册个 MSDN 什么的吧?这个贵一点,不过物有所值啊,?$2,799。
嗯,你现在已经是上层阶级,白领人士了。你现在可以像这样“自由”的,“安全”的生活了:

什么是 Windows 能干而 Linux 干不了的事情?
“Windows 能干而 Linux 干不了的事情,那就是不需要干的事情。”
有个朋友看我半年没有用 Windows,有时就会问我:“你只用 Linux,有没有发现有些 Windows 能处理的事情 Linux 干不了?”
我回答说:“Windows 能干而 Linux 干不了的事情,那就是不需要干的事情。”
Windows 能做的有益的事情 Linux 都能做

回复列表 (共53个回复)

21 楼

IDE
有些人在抱怨为什么 Linux 没有一个良好的 IDE 开发环境。Linux 现在已经有一些 IDE 了,但是总是有很多问题。你是不是正在寻找,正在期望 Linux 某一天可以有一个VC那样的开发环境?
---------------
搜搜kdevelop是什么? 能说比VC差吗?



高明的 UNIX 程序员不用 IDE,IDE 从来就是给初级 Windows 程序员用的。
--------------
我也见过网上写着"UNIX高级程序员(或者linux高手)从来都不用X桌面(window manager)"
你会去模仿吗?



用make吧,然后写makefile文件管理工程!
--------------
你会自己写makefile而不用autoconf & automake吗? 高手可是从来不用的哦.



有一次某杂志采访一些出名的 Linux 内核程序员,包括 Linus 在内,没有一个人用 IDE,有的人用 VIM,有的用 Emacs,只有 Linus 说“GNU Emacs is evil”,
--------------
你把我杀了吧. 不用vim不用emacs不用任何编辑器...也不用IDE. 你用文本编辑器自传慢慢换行吗?
[code]
但是其实他用的是一种跟 Emacs 有同样键绑定功能的 MicroEmacs。
[/code]
别看掉了这句话..他也用的.


别忘记了.那些不用IDE的写内核, 写驱动, 做网络的..(底层开发)的, 打个比方,你如果在windows,你自己编写一个摄向头驱动程序,你有必要用VC吗? (或者别的IDE吗),所以还是回归我想说的, 那要看你是做什么开发的...GUN/linux下程序员大部是做驱动,写串口,做网络,做嵌入式的. 所以当然不必要用IDE..而如果你去写GUI. 你能不用吗?
打个比方,linux下两种流行的图形库.QT与及gtk+(或gtkmm), QT你不用designer拉控件而是自己手工写代码, 效率从何谈来,(说到效率,更想我想起java了...他不更注重开发效率吗)
我老大是用gtkmm做qq程序开发的.aiby你知道的.那个叫wind的..他们现在写图形框架还是用一个可视化IDE做框架,比起手工写代码不管是开发效率或者是生成的程序运行效率来讲.都高得高..

ide不是万恶的.`~如果linus等人去做与图形开发程序有关的项目.不用IDE.我就变个王八给你看...(当然也可以不用,特变态的.)

总之一种话...是否用IDE要看你在linux做什么开发.

BTW: 这文章如果单从对Linux不了解的人去看, 有点误导他.
     如果谁不同意我的说法,可以一起上面谈谈.或者去看看那个退学了的清华博士王垠写的关于Linux文章. 写的不错..

22 楼

这文章, 让人不用ide,不用vim emacs之类编辑器...我看干脆接着写不用X,不连网...
不用linux开发版,只下载个linux kernel用算了...

23 楼

IDE的功能不光是GUI编程,还有团队开发、集成调试、版本控制、系统分析等等跟编程有关的方面,每一项功能都可以成倍的提高个人和团队的开发效率。Linux都是网上的黑客们写出来的,他们一般都单枪匹马,很少有团队并发操作,因此更新效率低。如果他们都使用具有团队开发、版本控制功能的IDE,可能Linux绝对不只是今天这个样子。说Windows内核程序员不用IDE鬼才相信,否则他们的版本怎么控制?Bug怎么控制?难道手动的到源代码服务器上去check out/check in?比尔盖茨家里都先进到那个地步了,没有理由认为它的公司原始到用手动方式控制版本。

24 楼

终于找到一个志同道和的朋友.
不过还是有点意见想发表一下.

IDE的功能不光是GUI编程,还有团队开发、集成调试、版本控制、系统分析等等跟编程有关的方面,每一项功能都可以成倍的提高个人和团队的开发效率
-----------
我指的是编程,即做什么开发, GUI, 网络,串口,驱动,嵌入式... 等等
而你说的这些IDE好处基础上是可以不说的.集成调试还不终归于gdb,版本控制还不是cvs.所以这些不用IDE也可以达到的...但我特保持和你一志的就是你后面那句话,相对效率来谈.IDE做有些开发时,的确是不能少的.



Linux都是网上的黑客们写出来的,他们一般都单枪匹马,很少有团队并发操作,因此更新效率低。如果他们都使用具有团队开发、版本控制功能的IDE,可能Linux绝对不只是今天这个样子。
---------------
这句话我就有点不同意了.linux就是linuxs写出来的...没有别的.
而当前只有debian发行版是由网络中一些linux高手制作和维护的.
并且我可以说没有哪个KDE软件是由个人开发及维护的...(指大型软件,如vsftp, apache, KDE桌面, mozilla/firefox之类)
..发行版本来就不能算是linux.只能算是一个扩展.

25 楼

看来是我孤陋寡闻了,不过我的立场还是很鲜明,就是从实践中寻找答案.
师弟能否推荐个LINUX论坛,就像我当初给你推荐的CSDN.

26 楼

www.linuxsir.org
www.linuxfans.org

27 楼

一口气看完了

28 楼

决定学linux!不让我的redhat linux 白装!

29 楼

我以前在博客里收藏过这个文章,说的满不错的,支持大家讨论
以前看过的另一本跟这个有点类似的书是《编程高手箴言》,虽然两人的观点有点不同,但我都感觉不错,至少看了他们说的我也感觉学编程应该从底层学起,而不应该太重视那些构建于某种层次上的所谓‘方法’和‘技术’。

如果不是做服务器用,我是不会去用LINUX的。就算用LINUX我也只学几条常用的命令,不会把WINDOWS丢掉,WINDOWS的图形操作界面确实比它好,我不愿意在这上面浪费过多时间。就像我去学编程,我不愿意再为熟悉某个特殊的编辑器浪费时间!

30 楼

如果你是 windows程序员
那么还得学习 windows 编程

我来回复

您尚未登录,请登录后再回复。点此登录或注册