对三大桌面系统的一点看法
Windows是最流行的桌面系统,虽然现在Apple如日中天,但是短期之内无法撼动windows的地位。不过不可否认的是,windows已经开始走向没落。其实苗头早在几年前就已经显现,只是win7的推出犹如一支强心剂,给垂垂老矣的windows带来新的活力。但是现在那怕win8推出,也达不到那样的效果了。越来越多的人开始在windows之外尝试其他的系统,并且不想再回头。
Linux和OSX是流出的两大方向。几年以前,流出的方向是linux,现在多了一个选择。传奇的贵族式的osx比linux更具有吸引力。在软件行业,如果当年linux吸引的还主要是geek特质的对象,那么osx已经开始吸引普通的工程师。只要给他们机会,大部分人都乐意离开windows,投入osx或者linux的环抱。即使工作的关系在公司不得不使用windows,越来越多的工程师在家也安装了linux系统或是购买了安装osx的苹果电脑。我也是如此,要不是现在工作的需要必须绑定在windows上,我非常乐意去尝试全新的体验。但在家里,我还是购买了iMac并在笔记本上安装了ubuntu。
开发人员的数量和素质决定一个平台的命运。如果他们离开,剩下的就只有没落!而关于开发者离开的原因,就我个人观察,完全不是因为windows不够友好。在使用过osx半年之后,我并不觉得它比windows更出色,除去因为历史原因导致的软件方面的匮乏不谈,就一些系统自身的操作,很多方面windows也是更方便的。方便友好并不能决定开发者的去留。linux是公认的不友好,但是依然有大批的开发者,虽然它也有自身的问题。
影响开发者的选择的原因多种多样,但是有两个是最重要的:暗淡的前景和厌倦!
对真正的开发者来说,在windows上进行投入前景越来越暗淡,说的明确一点,就是收入越来越微薄。造成这一情况的原因也有两个:一个是外部的原因。自由软件吞噬了绝大部分的小软件的市场份额,个人开发者或是小型的开发团体已经无法从市场获利。同时当前整个桌面平台在向网络平台过渡,而微软提出的一些技术方案并没有得到其他公司和社区的支持,进一步压缩了其平台上的开发者的生存空间。另一个是微软自身的原因。频繁的抛出一些没有营养的概念,企图用学习成本把开发者捆绑在他的平台上,却忽略了整个生态环境的建立。当人们花了大力气追在他后面学习各种概念,比如不知所谓的.net,却发现学会了之后发展空间反而变窄了。一方面微软大力宣传学习成本低廉,大量的人员开始进入,另一方面微软并没有或是没能力为他的追随者们创造足够的发展空间。整个生态环境因为拥挤而变得恶劣,甚至微软为开发者们提供更容易使用的工具这样看似正确的事情也在伤害着他现在的开发者。由于门槛的降低,大批平庸的开发者涌入这一领域,必定严重冲击整个市场。如同在一些新技术行业的小公司,他们把是否从该行业中退出的风向标定为是否有中国公司进入一样,先来的开发者会陆续退出,另辟战场,并会很乐意的把windows留个他们。这情形就像投资者丢弃一支烂股票一样。
除了客观的原因以外,也有一些非理性的因素在起着影响。或多或少像我这样的人会对windows有一种厌倦感。我曾和朋友说,如果windows phone要成功,首先需要抛弃windows这个词,至少在商标和宣传上应该如此。这个词除了兼容性,并不能给我们其他的美好感觉,甚至在兼容性方面,他代表的也并不是完美。开发者喜欢新鲜感,但是windows,大家太熟悉了。他们有勇气承认不懂linux和osx,但是不好意思说自己不懂windows,哪怕他们确实对windows phone一无所知!人们第一印象并不会区分这是桌面和移动两个不同的系统,他们首先注意到的是相同点,这大概也是微软为什么要在phone前加上windows的原因,只是这个想法完全错了!而另一方面,windows的知识越来越没有特殊性,难于彰显个性。人们只有对自己不熟悉的东西才有好奇心。而失去好奇心的开发者根本就不能称为工程师。
windows开始没落,而桌面版linux,一开始就走入了歧途。桌面版linux的目标,如果他们有目标的话,就是在linux上建立windows的用户体验。看看这几年这个社区努力在做的事情,看看wine,看看gnome。他们只是在把linux变成免费的windows,可是他们并不成功,哪怕在个人市场以及非商业领域。现在使用linux的人,依然是那些应该使用linux的人。在我看来,沿着这条路走下去,他们永远也不可能成功。
osx的情况和linux的不同。它本来就是一个完善和强大桌面系统,只是价格限制了它的发展。它以某种方式被人们看作是一种奢侈品,是一种象征或是一种精神。当它走下神坛后必将立刻吸引大批的追随者,但是这种情况是否会持久并不能立刻作出判断。和windows以及它的近亲linux不同,osx平台上几乎所有的程序都是需要收费的。这对开发者而言却是一种很好的生存环境,只是这必然会阻碍它长期占据大众市场。
我对这三个主要的桌面系统的看法是它们应该根据各自的特色形成一个不交叉的定位:osx不应该想着打入主流市场,它甚至不应该进入服务器市场,这些与它长久以来的贵族式的特质并不吻合,强行进入反而会削弱原来的影响力。linux应该替换的是unix,除了服务器外还有科研领域。它应该为他的大批geek追随者提供更强的功能。他们不会在乎有没有ui界面,只要console足够强大,开发环境足够强大,社区支持足够强大,总之功能要足够强大。windows面向大众,它需要把自己弱化成一个工具并向osx和linux提供接口以接受他们的成果。他需要作出牺牲,放弃把人人都变成程序员的梦想,把专业的事情留个专业的人,而不是抢走他们的饭碗。