为什么中国开发不出流行的操作系统和编程语言
为什么中国开发不出流行的操作系统和编程语言
Stitch/2020-2-21
引子
知乎有两个帖子很有意思,
看了很多回到,有的答案写的很认真,按照编程语言出现的时间顺序等梳理;有的也非常认真,但是逻辑是错的;还有一种是搞笑的。
为什么中国没有开发出流行的操作系统和编程语言?
我的答案是:
中国没有开发出成功的操作系统和编程语言,根本原因是中国的IT产业处于落后状态。还在循着美国产业发展路径追赶,没有发展到世界顶尖。没有站到浪潮前沿,就无法感知产业发展方向,就无法创造出适合未来产业发展趋势的操作系统和编程语言。
好,现在问题来了,什么时候中国可以写出操作系统,什么时候可以出自己的编程语言。这个问题问的比较好,暂时不回答,在文末有答案。
PC操作系统发展历史
简单回顾下操作系统发展历史
现在的操作系统有十几个,对于IT行业以及互联网从业人员接触到的有
-
PC操作系统:DOS,Windows,Linux,MacOS等
-
服务器操作系统:Linux,Unix,OS/2等
-
手机操作系统:Android,IOS,BlackBerry (黑莓),Symbian(塞班),Windows Mobile
-
嵌入式系统:windRiver,QNX等实时操作系统
对于普通人一般接触到的操作系统就三种:
电脑的window和手机平台的Android、IOS,其他的估计连听说过都没有。
对于业内人士了解的概念,写一个操作系统不难,难的是基于这个系统的生态系统,IT从业人员和专业技术人员都在这个操作系统上工作以及开发应用,这样才是一个成功的操作系统,而不是一个在高校内教学的教学模型,或者是实验室的试验品、Demo。
写一个成功的操作系统,不是靠技术先进就可以了,需要天时、地利、人和。
我们回顾下当下最成功的操作系统是怎么发展起来的,以window和IOS、Android为例。
DOS系统最早是一个技术人员的作品,被比尔盖茨买过来,修改用在了IBM的PC电脑上,随着个人电脑的普及而发展起来。
当时电脑都没有操作系统,DOS一出来就基本占据大部分桌面市场,后来基本DOS内核的windows随后推出。因IBM兼容机的价格优势,在与苹果电脑的竞争中占据优势。理所当然的各种应用软件都是基于windows系统开发的。可以说PC时代的软件巨头都是基于Windows平台的。
后续跟随操作系统图形化界面的潮流推出Windows系统,此后一直占据着个人电脑操作系统的主流,后来Linux系统想占据个人桌面系统,努力了很多,一直没有成功,不是技术不先进,图形化不够漂亮,软件不够丰富(对于非办公人员来说,日常软件已经够用),而是已经过了个人电脑的浪潮,普通人已经适应了windows系统的操作了,微软成为了事实上的个人电脑的系统的标准的制定者,操作习惯的引导者。操作习惯一旦养成,想改变是非常困难的,普通人重新去学习一种新的操作习惯的成本太高,软件开发厂商重新适配新操作系统的成本也是巨大的。
当年推出的window Vista系统,因操作方式变化太大,遭遇了失败。
所以Windows的天时是个人PC的浪潮,地利是在美国,完善的配套产业,人和比尔盖茨的商业能力以及起步时妈妈是IBM的董事,IBM的PC预装了DOS。
由于当时苹果的封闭,Windows系统在技术上没有苹果的好,但是借助IBM的兼容PC价格优势,占领了大部分市场。随着时间的累积,Windows的生态越来越丰富,应用软件,企业应用等,甚至影响了硬件标准的制定。
个人操作系统多年来积累的软件,以及很多的企业应用和服务,要迁移,需要把原来的需求理清楚,新系统上开发,还要详细测试没有bug,新旧系统切换还要保证原有业务稳定,迁移成本是一个天文数字,没有公司可以承担的起。所以在个人操作系统领域,Linux根本没有可能挑战Window系统。
智能手机操作系统
我们再来说说手机操作系统,基本是IOS和Android的天下,这个浪潮离我们比较近,很多人都是亲身经历这两个系统的发展的。
时间拨回到2007年,当时第一代iPhone刚发布,震惊了世界,十几年过去了,重新回顾发布会,依然觉得震撼,真的是划时代的产品。从此,开启了从PC时代向智能手机时代的大幕,开启了PC互联网时代向移动互联网时代的大幕。
苹果凭借iPhone的发布,获得了巨大的成功,后续的智能手机界面和操作方式,都是以此为准,可以说苹果制定了智能手机图像界面的标准以及操作标准。
这个一个变换,直接带来了IT产业的环境变化,从生物学的角度来说,外部气候已经变了,所有的生物都要做出改变来适应新的气候,完成迁移,不然就会被时代淘汰。
智能手机的普及以及手机操作系统的出现,是一个全新的平台和领域,也是整个IT产业的重大变化。原有PC时代的软件巨头和互联网巨头都在努力向新的平台迁移。
移动平台是全新的,操作方式是全新的,全都是未开发的处女地,没有旧时代的巨头阻挡和门槛。
智能手机的销量每年增长50%以上,意味着用户每年增长50%,这里全新的蓝海,是时代弄潮儿的最佳机会。抢占住了移动平台,就拿到了通往未来的门票。
美国智能智能手机操作系统成功的天时地利人和:
-
天时:经过2000年后互联网泡沫的破灭,硬件技术已经有了长足的进步,低功耗的cpu可以运行起来480*320的分辨率的画质了。3G网络的发展,速率基本可以到2M以上了,基本达到了宽带的条件。
-
地利:在2006~07年,美国依然是IT产业的高地,硬件到软件,无不是独步天下。
-
人和:硅谷作为IT产业的圣地,操作系统人才积累雄厚。最关键的是有乔布斯这个从PC时代走过来的大神。
美国硅谷具备了天时地利人和三个条件,IOS 和android顺利的占据了智能手机操作系统的市场,基本没有遇到太大的阻力。
另外来看,手机操作系统有资格参与竞争的选手也不多,欧洲诺基亚主要的Symbian系统,加拿大黑莓主导的BlackBerry OS,微软主导的Windows mobile(phone),三星的Bada(后来的Titan)。这几个系统种种原因,在竞争中都失败了。
国内的厂商当时一个能打的都没有,甚至在智能手机爆发时(2007年,iPhone发布时),国产手机被山寨机打的节节败退,处于历史的低谷,根本不是现在的情形(国产智能手机占80%以上份额)。可见当时国内在整个智能手机开始普及时,产业链哪个环节都没有优势,连一个像样的领导厂商都没有。操作系统的特点是一旦占据了市场,基本很难更换,现在去开发一个新系统来抢占原来市场,非常困难,需要完整的工具链支持,开发者迁移成本也非常高。
所以操作系统国内没有占据市场,是整体由国内IT产业的发展水平决定的,没有站在浪潮之巅,就感知和引领行业的发展方向,提前占据新的领域。
国内操作系统的机会
iPhone发布后,整个产业界一下震惊了,苦苦探索的智能手机终于了有了方向。在苹果之前,智能手机是黑莓,Symbian,windowCE,这几个系统的思路基本是PC系统的延伸,而不是向IOS一样专门为智能手机设计的操作系统。
当时的Android系统还是Robin的玩具,设计还是全键盘的设计。在iPhone发布不久,谷歌灵敏的嗅到时代巨变来了(成为巨头的公司一定是灵敏的,对于产业的发展趋势判断一定是超级的,不然谷歌也不会成为穿越时代的巨兽),急匆匆收购了Android系统,和当年微软的PC操作系统的思路一样,操作系统开放给手机厂家使用,占据了大部分的智能手机系统的份额,拿到了智能手机操作系统的门票,使自己的互联网服务有了栖身之地,奠定了谷歌在移动互联网时代的基业。
回顾这些,就是想说明,一个操作系统的成功,一定是跟随着产业发展的浪潮,满足了产业发展需要的需要,随着产业一起发展,才能获得成功,这个就是吴军老师写《浪潮之巅》里的,大公司也有随着时代转型,不然也会没落。
结合前面的论述,现在主流的操作系统,PC上的Windows,服务器上的Linux,智能手机的Android和IOS,格局一定,基本无法动摇。
想占开发出流行的操作系统,要等到下一个产业变迁的时刻,同时国内还要有巨头来主导,保证资本和人力的投入,还有庞大的市场来检验,以及对应的技术人才和商业人才积累。这样天时地利人和才可以抓住机会,占领新兴产业需要的操作系统。
回到本文的标题,什么时候会出现中国主导的操作系统,个人觉得再出现新技术领域时,一定有中国操作系统的一席之地的。这个时间点在什么时候,我也不知道。但是下一次产业机会出现的时候,天时地利人和的优势是在中国这一边的。
-
天时:现在国内移动网络开始普及5G,4G覆盖率非常高,移动用户数巨大,现在国内的IT厂商具备和全球顶尖的实力,阿里,腾讯,华为。在应用层面,许多应用都是在国内先出现,然后普及到全球,抖音就是一个例子。
-
地利:现在IT产业的硬件制造的高低在中国,智能手机厂商华为、oppo,vivo,小米,都是全球前几大厂商。硬件生产效率惊人,可以第一时间以合适的成本和速度生产出新领域的硬件平台。
-
人和:这个人和不是指具体的某个人,首先国内IT产业经过这些年的长足发展,在底层系统方面积累了人才,操作系统,数据库等。还有就是有了全球TOP级的平台,阿里,腾讯,华为,这些企业可以和美国的IT企业在研发投入上竞争,当新的产业机会出现时,这些巨头肯定会全力投入竞争,起码在资本投入方面,是可以与美国的企业想媲美的。还有一个就是国内巨大的市场,一旦占据就可以快速摊销研发成本,产品快速迭代和进化,可以更方便的抢占市场和竞争。抢占新领域的操作系统,就补上了操作系统的一环。
新的编程语言
同理,编程语言也一样,一个编程语言的发展,是切实解决产业发展中的问题,提升开发效率而取得发展的,不是闭门造车。
现在最流行的编程语言,JAVA,C,Python,C++,JavaScript等,也都是满足了产业界的巨大需要,占据了一席之地。
以我现在用的Python为例,Python发明于1991年,一直处于小众的领域,躲在角落里做一些杂活,“苟延残喘”的活着,如果没有找到新的用武之地,python就会慢慢消失在历史的长河中。幸运的是2007年谷歌使用python做运维,找到了自己的用途。不然发展十几年版本才进化到了2.6版本。出现较晚的Java都进化到了6,7了。
有了谷歌的站台,业界也开始学习谷歌来做运维,python开始取得了发展。后面更加幸运的是赶上了科学计算以及大数据的浪潮,在数据分析领域发挥了自己的特长,进入了编程语言的前五,还当了几次年度语言。
所以编程语言的设计不一定就是按照教科书的范式设计最好,而是需要多方面的因素来促成。例如C#,语法设计号称经典,和Java撕逼这么多年,也没有威胁到Java的地位。一个是Java早期发展占据很多领域,还有就是Java靠着Android强力续命了。如果是微软的系统取得了今天Android的地位,C#估计就替代Java在Android上的应用开发语言地位了。
新产业出现的时间
时候产业会出现新的机会,方向是什么,现在都没有定论。需要大量的先驱去尝试,去探索,最终找到一个出口。这个过程有多久,比较难说。
不过我们可以回顾下历史,PC发展是起于20世纪70年代末,大规模普及要到21世纪初Windows XP发布,2015年达到顶峰,时间跨度是35年(1980~2015)。智能手机孕育在20世纪90年代末,有windows CE,黑莓等,取得突破是2007年在iPhone发布,大规模普及在2010年,时间跨度是(2000~2010)
可以看到产业发展速度是呈加速度的,智能手机从iPhone发布到规模普及,不到五年。
现在智能手机功能的发展基本已经停止了,近五年已经没有重大的新功能了,CPU中加入NPU等都是在尝试,是不是产业发展方向还不一定,至少华为是走在业界的前沿,开始向无人区探索了。
新的机会现在就在孕育,静悄悄的发展,在寻找发展的最佳路径,就像电子不知道哪里电阻最小,只会寻找最近的电阻最小的方向去。
下面为个人看法:
个人觉得电脑,手机以及众多穿戴设备,家用智能设备,这些太复杂了,太多了,确实提升了不少体验,但是使用起来却不智能。可能会出现一个统一的系统。但是感觉这个产业规模不够大,无法孕育一个主流的操作系统。