自作孽
Linux桌面既不能玩游戏,也没有好使的办公软件,即便只是上上网,也需要“配置”一番。拿它来当生产力工具的用户,只有程序员了。原因只有一个:方便。和Linux桌面不同,Linux服务器占据统治地位,在万物上云的时代,统治地位更加牢固——机房里物理的宿主机和上面跑的虚拟机,基本都是Linux服务器版操作系统。
使用Linux桌面,打开一个终端就直接对上了工作环境,连ssh登录都省了,网断了也能工作,理论上,真是太顺溜了!可惜理论始终是理论,“方便”基于Linux底层服务和GUI的一体性,但正是Linux桌面的复杂性,让“方便”无从谈起。
首先,和Windows内核将GUI写进了系统Ring0层(死机时鼠标还可以动!)不同,Linux并不依赖图形界面,桌面运行,需要基于底层服务。和Apache/Mysql/Redis一样,提供绘图功能的底层服务并没有特殊的优先级,导致了在一些情况下——如内存换页或者IO阻塞——用户界面直接卡住不动了。
说起绘图服务,又是一把辛酸泪:从计算机界上古时期的Xserver,到用来接棒但并没什么区别的XORG,再到试图把图形绘制写进内核的Wayland,和Ubuntu为了移动战略而另立门户的Mir,二十年来就没个稳定的时期,底层开发库互不兼容,让开发者怎么安心打磨产品?
底层绘图服务一说起稳定,桌面环境就笑了。且不说用的好好的Gnome2升级到3的过程中整出来不兼容的底层库Gtk3,Ubuntu自从换了Unity顿时损失大把用户,不得已只能推出一个Xubuntu来救急......还有,你一个桌面环境,绑定那么多应用干啥?Gnome的Gedit对应KDE的KATE,无一例外都很难用,然而还有重重依赖,不能卸载。
作为程序员用户,我对Linux桌面的需求,只要有一个管理窗口的WM,能让我运行浏览器+Emacs+终端这三个软件就可以了,整这么一大坨没用的,是要逼我用FVWM吗?
都是macOS的锅?
所以开发人员都用上了Mac,在这里,真正实现了“方便”。Mac内核Darwin基于BSD,虽然和Linux有诸如sed参数这种轻微的不兼容,但技术栈完全是通用的,真正实现了理论中“开箱即用”的方便程度。而且,用Mac还能顺便开发热火朝天的iOS项目,性价比已经超高了。作为程序员,为什么要折腾自己浪费生产力呢?
性格和科技树
开源软件领域,因为产品研发都是项目创始人做主,以程序员为用户的产品,比如命令行下的各类库和服务软件都可以发展得很好。而Linux桌面环境这种需要仔细打磨用户体验的产品,因为没有产品经理掌控品质——人家追求的也不是用户体验,废掉旧API出新版本,是为了提升运行效率和让代码更优美好不好?
没人关注用户体验的产品,用户体验自然不会好。而开发者一言不合,就另立新project,也让产品少了积淀和传承——Forever Beta永远都是不断上新功能,但是体验就凑合一下吧的版本。这个习惯来自Unix刚诞生的时代,貌似是程序员这一职业的基因。
HN这个靠程序员投票决定首页新闻排序的社区,“站长”Paul Graham用了一个根据时间流动让热门衰减的算法,通过浏览前20的帖,就能掌握程序员关心的24小时内科技界动向,与之对应,大概20-40位反应的是24-48小时前的热门,特别受人关注的帖,会长时间占据较高的排名。
除了爆炸性科技界新闻和重大产品发布,和Emacs/Vim/SublimeText/Atom这种月经帖,还有一种类型的特别受欢迎:自制小玩意儿。比如今天就有俩:能根据彩虹糖和M&M豆颜色自动分拣的机器自己焊的FPGA显卡。这种硬件创新和Github上爆炸式发展的开源软件,从文化上是同源的,来自工业革命时代对提升生产力的不懈追求。
在科技树上不断探寻,开新分支,总能发现新大陆,攀上新高山。关键在于创新和发展,至于用户体验嘛,拿了风投,成立公司之后,请专业人士来做不就好了。
网友评论