linux的哲学

windows在功能上并不是很差,从实用上说,linux的shell功能更为强大,社区气氛更好而且平均水准更高,有更多的出版的和在线的资料。除此之外没有什么很大的区别。虽然有没有一个好用的shell对于许多人比如我来说就是很要命的事情,但对于相当多的需求普通的用户而言,这并不要紧。

linux和windows的区别,是哲学上的。linux最核心的哲学其实是:尊重。

*计算机教育

linux代表的哲学其实是一种尊重,emacs代表的哲学也是一种尊重。sicp代表的哲学也是一种尊重。这种尊重是一种聪明人之间的惺惺惜惺惺。

在一个二三流的大学是没有人用sicp当教材的(sicp是麻省理工学院计算机和电子工程系一年级的入门教材的英文首字母缩写,全称是《计算机程序的构造和解释》)。师资是一回事,就算有了师资,老师会觉得,这些东西太难了,没有必要教那么难的东西。这就是一种不尊重,首先是对别人智商的不尊重,我不觉得你能够聪明到能理解某某某,其次,这是越俎代庖,是替别人做决定,是剥夺了别人选择的权力。教学时使用sicp意味着,首先我尊重你的智商,虽然许多人搞不懂书里面的东西,但是我觉得你是聪明的努力的,可以通过智商和努力把事情搞定;其次,我尊重你的选择,我想教给你的东西到底难还是不难,我说了不算,你说了算,你能看懂多少算多少,聪明努力可以一个月搞定,如果你没时间或是不够聪明可以延长时间,或是退课,选一些更简单的课程。

为什么一流人才很少来自二流大学?在二流大学,你很有可能不知道学习什么样的知识体系或是技能最能在学术界或工业界立足,因为你的教授不告诉你。哪怕你真的很聪明,或者可以通过自己的努力弥补自己的不聪明。你只能遗憾的发现,自己的教授其实心里门清,但是他就是不告诉你。因为他已经替你做出了决定:那些东西对你太难。当然这是情有可原的。绝大多数二流大学的人确实动机不强努力不够或是智力有硬伤。

linux在中国计算机教育界长期被边缘化,正是源于这样的现状。

*黑客的安全感

linux会给高级用户带来一种很好的心理暗示,如果我需要一个软件,需要某种功能,需要完成某种事情,而且没有现成的东西,我可以自己搞定。因为linux信任你,在你自己的硬件上所有的事情你都可以做。苹果和安卓系统的root(苹果设备上一般称之为越狱),在linux用户看来,绝对是天经地义的事情。你自己花钱买回来的硬件,为什么不能想怎么用怎么用?

linux如果是mit写sicp的教授,苹果和微软就是二流大学的教授。mit的牛教授有可能胡子一大把,留着恶心的披肩发,但是这无法阻挡他们牛逼闪闪的智慧的光芒。微软和苹果呢。。。他们衣冠楚楚,文质彬彬,但是这掩盖不了他们是二流货色的事实。他们替你决定了,你不能想干什么干什么,你自己的硬件应该怎样用,不是你应该琢磨的事情。据说苹果不给保修越狱过的设备。就好比说你自己买回家一台服务器,厂家说如果你用linux系统,不能用root账户,任何sudo和su开头的命令你都不能用,否则我不给你保修。苹果其实是很荒唐的,但是荒唐的事情真实地在这个世界上发生着。

其实苹果的mac和linux都是遵循同样的标准,使用标准unix命令的脚本应该是可以互相移植的,但我一直不敢用mac,而是坚持在linux平台,因为我很担心,哪天我想突发奇想做个什么事情,苹果会限制我做“危险的事情”。

*微软宝典:欲练此功?挥刀自宫

对于许多用户来说linux对于他们来说意味着折腾。很多苹果的粉丝说我不想折腾Linux,这是对操作系统了解不够。如果你的工具强大得上不封顶,出点乱子是难免的。你有倚天剑屠龙刀,练成的过程中难免划到口子。等你的功力真的长进了,会发现这个系统其实非常稳定,非常强大。
中国古代北方的游牧民族,每个成年人都合法地拥有武器,没有酋长或是可汗干涉,如果部族内部出了事情,打起架来确实可能造成很严重的后果,相比之下,中原的农民长期不能合法拥有武器,虽然平时安居乐业一片歌舞升平,但一旦打起仗来,游牧民的战斗力比农民强很多。
linux和windows之间的选择类似。选择永远是权衡,民风彪悍和歌舞升平,没有绝对的利弊。我个人的选择是,做游牧民。

使用的工具牛逼不一定真的就牛逼,用linux并不一定代表水平高。但是复杂到一定程度的事情,基本上只能用牛逼的工具来做。这时候你非要用windows,是自己给自己找麻烦,是你跟别人比赛射箭的时候先把自己的食指和中指砍掉。windows版本的《葵花宝典》第一句话是,欲练射箭,挥刀砍指。当然,微软的公关人员一定会同时讲解射箭对于手指的潜在危害,以及把砍掉指头有益健康的养生学。信不信由你。反正我是不信。
真正强大的神射手不会误伤别人,凭借的是鬼斧神工的技艺。把食指和中指剁掉,根本没办法射箭了,自然也不会误伤别人,但这不是值得追求的事情。

会emacs不一定代表你很牛逼。但是如果你真的是会很多很多语言写过好多好多代码的牛人,不会emacs是不可能的。而且一定也会vim。只会用所谓ide的人几乎都是傻逼,但这一点是他们尤其不愿意承认的。如果要跟美国人打仗,你只有高射炮,连导弹都没,你的朋友有Su-27,Su-35,歼20,你跟你朋友说你丫装逼,我其实很牛逼。。。真的不是人家装逼,你们不是一个时代的人。

*一点跑题:关于emacs

许多人说emacs的哲学和linux的哲学不一样。linux崇尚简单的积木拼接,emacs是伪装成编辑器的操作系统,是一条披着羊皮的狼。
这是实情。
但是我觉得linux和emacs的更深层次的哲学是一样的。那就是尊重。他们把尽可能多的内部机制暴露给你,让你自由地运用;而不是越俎代庖地替你决定什么东西是你应该用的,什么东西你不应该用。
通过emacs的shell-mode控制bash非常好用,你也可以不用bash,用scsh(使用scheme语言,scheme shell的缩写)作为bash的替代。emacs给你提供尽可能多的选择,你喜欢用哪个随便。你觉得自己可以做一个天下第一牛逼语言,自己写一个shell都没问题。
而windows上不可能出现一个用scheme语言替代dos的shell。你没得选。微软已经替你决定了:老老实实地呆着,我让你用啥你用啥。

*关于宗教

你当然可以不用linux,不用emacs,不看sicp,不用scheme语言。这些都是软件,是工具,在你做牛逼事情的时候能给你节约好多时间,减少很多痛苦。你用还是不用,至少笔者是完全尊重的。

有许多人把linux和emacs当成宗教来宣传了。这是一种高级的装逼,是一种”老子超级牛逼”的宣言,也是一种目睹同伴掉到井里爬不出来的惋惜。

别跟他们抬杠。他们不是坏人。

*避免极端

linux不是没有缺点。linux有值得批评的地方。例如这篇文章

所有伟大的作家都有缺点,但不妨碍我们在名著中学习。那个作家是天才我肯定看不懂,如果你智力正常又有人帮忙带你,这话说得是不客观的。同样不客观的是:那个作家是完美的,谁也不许说坏话。

我觉得涉及linux的偏激的观点一般是三种,linux太难了我肯定搞不定,linux有啥了不起你丫装逼,linux就是好你啊就是好不会就是傻逼。做事情最好还是理性些,避免极端。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s