background image

仅可以学到一个操作系统的实现,同时也可以学到许多系统原理以及软件工程的东东
……..
  

 说说 linux 程序员和 windows 程序员之间的区别吧.....

  

 有很多号称 windows 编程高手的人在 windows 上搞了几年的开发,居然不知道

makefile 是用来干什么的???他们以为会使用 vb、vc、sql 就算计算机高手了???
他们甚至不知道一个进程是怎么被

fork 的,一个可执行文件又是怎么执行的;更有甚

者,有些号称精通

vc 的人居然连 windows 最基本的消息机制都不明白,他们以为把

windows 的这些 api 函数都背下来就什么都摆平了???这些人如果一旦脱离了
windows 将无法生存了(也许这就是中国软件行业的悲哀吧….),而现在除了一般
的通用软件和

mis 系统以外,有多少程序是在 windows 上编写的????纵观现在

的计算机行业,家电、手记等等嵌入式系统哪里可以找到

windows 的身影(就算是

wince,也有很多东西和 windows 不一样,那么这些人是不是需要重新背诵新的
apis????)。
  

 所有这些,在 linux 程序员看来都是无法理解的事情;也许你会说,windows 提

供了这么方便的开发工具,大家可以少作很多事情,但这样的方便将直接导致程序员
水平的下降

……在 linux 上面进行开发,你可以作任何你想要作的事情,因为所有的

技术都是公开的,你所能把握的是整个计算机的基本原理,所以即使你听到诸如

“跨平

”这样的话,也不会感到害怕,呵呵…….

  

 就拿小弟来说吧,从前我也是一个在 windows 上面瞎搞的人,用 vb 写了一个通

信软件还觉得自己很牛逼(现在想来,实在太幼稚了),但其实当时我连什么是通信
都还不知道(呵呵,脸红一下

^^^^),windows 也就这一点好:说你行你就行,

不行也行

……如果你只是为了应付毕设、课题、或者是老板的话,那么用 windows 写个

小程序再好不过了(呵呵

^^^,不过小心你写的程序搬到别的 windows 机器上就不

能用了喔

……这是因为你写的程序可能用到了动态库,而别的机器上可能没有),几

年下来,除了会使用

vb、vc 以外,什么都没学到手,都说 windows 是一个操作系统,

可是我不知道它的任务机制是什么样的?驱动程序是放在什么位置?文件系统又是什
么样的等等好多??然而,在

linux 上写了一个 TCP 通信软件之后就让我明白了整个

tcp/ip 协议以及具体的实现(这也许就是 linux 的好处之一吧)。
  习惯于

windows 的人在谈到硬盘分区的时候会自然而然的想起 c、d、e….以为这

就是分区的概念,由此可见

windows 对我们的毒害之深啊……有一次,小弟在机器上

装了

redhat,同事跑过了看新鲜,问我说:“你的 c 盘在哪里?”我说:“没有 c 盘,

只有

hda1”,然后他就说:“连 c 盘都没有,怎么装系统啊?”,我狂晕了一把#$%@

…….那家伙也是 cs 科班啊…….硬盘的分区只是对物理硬盘进行区域的划分,使得每
个分区都可以被看成是一块独立的硬盘,每个分区都可以有自己的文件系统,仅此而
已,至于用什么来表示每个不同的分区,随便

…..

  

 写这片帖子,决不是要煽动大家从 windows 转向 linux,只是根据不同的需要,

大家可以选择不同的操作系统;当然,如果你觉得对

linux 有些害怕的话,那么我可

以告诉你,

windows 可以做到的事情, linux 也都可以做到,而且只会更好;而

windows 作 不 到 的 一 些 事 情 , linux 也 有 可 能 做 到 , 比 如 说 , linux 可 以 访 问
windows 下的文件系统,而 windows 则不能访问 linux 下的 ext 序列的文件系统…
….
  最后,我想说的是:

linux is enough, but windows also not so bad!