知乎:为什么中国开发不出流行的操作系统和编程语言?

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

 
  • 原创 | Java 2020 超神之路,很肝~

  • 中文详细注释的开源项目

  • RPC 框架 Dubbo 源码解析

  • 网络应用框架 Netty 源码解析

  • 消息中间件 RocketMQ 源码解析

  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析

  • 作业调度中间件 Elastic-Job 源码解析

  • 分布式事务中间件 TCC-Transaction 源码解析

  • Eureka 和 Hystrix 源码解析

  • Java 并发源码

来源:cnblogs.com/StitchSun/p/12889614.html

  • 1.PC 操作系统发展历史

  • 2.智能手机操作系统

  • 3.国内操作系统的机会

  • 4.新的编程语言

  • 5.新产业出现的时间


知乎有两个帖子很有意思,中国能不能写出操作系统?中国为什么没有自己的编程语言?

看了很多回答,有的答案写的很认真,按照编程语言出现的时间顺序等梳理;有的也非常认真,但是逻辑是错的;还有一种是搞笑的。为什么中国没有开发出流行的操作系统和编程语言?

知乎:为什么中国开发不出流行的操作系统和编程语言?_第1张图片 知乎:为什么中国开发不出流行的操作系统和编程语言?_第2张图片

我的答案是:

中国没有开发出成功的操作系统和编程语言,根本原因是中国的 IT 产业处于落后状态。还在循着美国产业发展路径追赶,没有发展到世界顶尖。

没有站到浪潮前沿,就无法感知产业发展方向,就无法创造出适合未来产业发展趋势的操作系统和编程语言。

好,现在问题来了,什么时候中国可以写出操作系统,什么时候可以出自己的编程语言。这个问题问的比较好,暂时不回答,在文末有答案。

1.PC 操作系统发展历史

简单回顾下操作系统发展历史,现在的操作系统有十几个,对于 IT 行业以及互联网从业人员接触到的有:

  • PC 操作系统: DOS,Windows,Linux,MacOS 等。

  • 服务器操作系统: Linux,Unix,OS/2 等。

  • 手机操作系统: Android,iOS,BlackBerry (黑莓),Symbian(塞班),Windows Mobile。

  • 嵌入式系统: windRiver,QNX 等实时操作系统。

对于普通人一般接触到的操作系统就三种:电脑的 Windows 和手机平台的Android、iOS,其他的估计连听说过都没有。

对于业内人士了解的概念,写一个操作系统不难,难的是基于这个系统的生态系统。

IT 从业人员和专业技术人员都在这个操作系统上工作以及开发应用,这样才是一个成功的操作系统,而不是一个在高校内教学的教学模型,或者是实验室的试验品、Demo。

写一个成功的操作系统,不是靠技术先进就可以了,需要天时、地利、人和。

我们回顾下当下最成功的操作系统是怎么发展起来的,以 Windows 和 iOS、Android 为例。

DOS 系统最早是一个技术人员的作品,被比尔盖茨买过来,修改用在了 IBM 的 PC 电脑上,随着个人电脑的普及而发展起来。

当时电脑都没有操作系统,DOS 一出来就基本占据大部分桌面市场,后来基本 DOS 内核的 Windows 随后推出。

因 IBM 兼容机的价格优势,在与苹果电脑的竞争中占据优势。理所当然的各种应用软件都是基于 Windows 系统开发的。可以说 PC 时代的软件巨头都是基于 Windows 平台的。

后续跟随操作系统图形化界面的潮流推出 Windows 系统,此后一直占据着个人电脑操作系统的主流。

后来 Linux 系统想占据个人桌面系统,努力了很多,一直没有成功,不是技术不先进,图形化不够漂亮,软件不够丰富(对于非办公人员来说,日常软件已经够用),而是已经过了个人电脑的浪潮。

普通人已经适应了 Windows 系统的操作了,微软成为了事实上的个人电脑的系统的标准的制定者,操作习惯的引导者。

操作习惯一旦养成,想改变是非常困难的,普通人重新去学习一种新的操作习惯的成本太高,软件开发厂商重新适配新操作系统的成本也是巨大的。

当年推出的 Windows Vista 系统,因操作方式变化太大,遭遇了失败。

所以 Windows 的天时是个人 PC 的浪潮,地利是在美国,完善的配套产业,人和比尔盖茨的商业能力以及起步时妈妈是 IBM 的董事,IBM 的 PC 预装了 DOS。

由于当时苹果的封闭,Windows 系统在技术上没有苹果的好,但是借助 IBM 的兼容 PC 价格优势,占领了大部分市场。

随着时间的累积,Windows 的生态越来越丰富,应用软件,企业应用等,甚至影响了硬件标准的制定。

个人操作系统多年来积累的软件,以及很多的企业应用和服务,要迁移,需要把原来的需求理清楚,新系统上开发,还要详细测试没有 Bug,新旧系统切换还要保证原有业务稳定,迁移成本是一个天文数字,没有公司可以承担的起。

所以在个人操作系统领域,Linux 根本没有可能挑战 Windows 系统。

2.智能手机操作系统

我们再来说说手机操作系统,基本是 iOS 和 Android 的天下,这个浪潮离我们比较近,很多人都是亲身经历这两个系统的发展的。

时间拨回到 2007 年,当时第一代 iPhone 刚发布,震惊了世界,十几年过去了,重新回顾发布会,依然觉得震撼,真的是划时代的产品。

从此,开启了从 PC 时代向智能手机时代的大幕,开启了 PC 互联网时代向移动互联网时代的大幕。

苹果凭借 iPhone 的发布,获得了巨大的成功,后续的智能手机界面和操作方式,都是以此为准,可以说苹果制定了智能手机图像界面的标准以及操作标准。

这个一个变换,直接带来了 IT 产业的环境变化,从生物学的角度来说,外部气候已经变了,所有的生物都要做出改变来适应新的气候,完成迁移,不然就会被时代淘汰。

智能手机的普及以及手机操作系统的出现,是一个全新的平台和领域,也是整个 IT 产业的重大变化。原有 PC 时代的软件巨头和互联网巨头都在努力向新的平台迁移。

移动平台是全新的,操作方式是全新的,全都是未开发的处女地,没有旧时代的巨头阻挡和门槛。

智能手机的销量每年增长 50% 以上,意味着用户每年增长 50%,这里全新的蓝海,是时代弄潮儿的最佳机会。抢占住了移动平台,就拿到了通往未来的门票。

美国智能智能手机操作系统成功的天时地利人和:

  • 天时: 经过 2000 年后互联网泡沫的破灭,硬件技术已经有了长足的进步,低功耗的 CPU 可以运行起来 480*320 的分辨率的画质了。3G 网络的发展,速率基本可以到 2M 以上了,基本达到了宽带的条件。

  • 地利: 在 2006~2007 年,美国依然是 IT 产业的高地,硬件到软件,无不是独步天下。

  • 人和: 硅谷作为 IT 产业的圣地,操作系统人才积累雄厚。最关键的是有乔布斯这个从 PC 时代走过来的大神。

美国硅谷具备了天时地利人和三个条件,iOS 和 Android 顺利的占据了智能手机操作系统的市场,基本没有遇到太大的阻力。

另外来看,手机操作系统有资格参与竞争的选手也不多,欧洲诺基亚主要的 Symbian 系统,加拿大黑莓主导的 BlackBerry OS,微软主导的 Windows Mobile(Phone),三星的 Bada(后来的 Titan)。这几个系统种种原因,在竞争中都失败了。

国内的厂商当时一个能打的都没有,甚至在智能手机爆发时(2007 年,iPhone 发布时),国产手机被山寨机打的节节败退,处于历史的低谷,根本不是现在的情形(国产智能手机占 80% 以上份额);

可见当时国内在整个智能手机开始普及时,产业链哪个环节都没有优势,连一个像样的领导厂商都没有。

操作系统的特点是一旦占据了市场,基本很难更换,现在去开发一个新系统来抢占原来市场,非常困难,需要完整的工具链支持,开发者迁移成本也非常高。

所以操作系统国内没有占据市场,是整体由国内 IT 产业的发展水平决定的,没有站在浪潮之巅,就感知和引领行业的发展方向,提前占据新的领域。

3.国内操作系统的机会

iPhone 发布后,整个产业界一下震惊了,苦苦探索的智能手机终于了有了方向。

在苹果之前,智能手机是黑莓,Symbian,WindowCE,这几个系统的思路基本是 PC 系统的延伸,而不是像 iOS 一样专门为智能手机设计的操作系统。

当时的 Android 系统还是 Robin 的玩具,设计还是全键盘的设计。

在 iPhone 发布不久,谷歌灵敏的嗅到时代巨变来了(成为巨头的公司一定是灵敏的,对于产业的发展趋势判断一定是超级的,不然谷歌也不会成为穿越时代的巨兽),急匆匆收购了 Android 系统。

和当年微软的 PC 操作系统的思路一样,操作系统开放给手机厂家使用,占据了大部分的智能手机系统的份额,拿到了智能手机操作系统的门票,使自己的互联网服务有了栖身之地,奠定了谷歌在移动互联网时代的基业。

回顾这些,就是想说明,一个操作系统的成功,一定是跟随着产业发展的浪潮,满足了产业发展需要的需要,随着产业一起发展,才能获得成功,这个就是吴军老师写《浪潮之巅》里的,大公司也有随着时代转型,不然也会没落。

结合前面的论述,现在主流的操作系统,PC 上的 Windows,服务器上的 Linux,智能手机的 Android 和 iOS,格局一定,基本无法动摇。

想占开发出流行的操作系统,要等到下一个产业变迁的时刻,同时国内还要有巨头来主导,保证资本和人力的投入,还有庞大的市场来检验,以及对应的技术人才和商业人才积累。

这样天时地利人和才可以抓住机会,占领新兴产业需要的操作系统。

回到本文的标题,什么时候会出现中国主导的操作系统,个人觉得再出现新技术领域时,一定有中国操作系统的一席之地的。这个时间点在什么时候,我也不知道。

但是下一次产业机会出现的时候,天时地利人和的优势是在中国这一边的:

  • 天时: 现在国内移动网络开始普及 5G,4G 覆盖率非常高,移动用户数巨大,现在国内的 IT 厂商具备和全球顶尖的实力,阿里,腾讯,华为。

    在应用层面,许多应用都是在国内先出现,然后普及到全球,抖音就是一个例子。

  • 地利: 现在 IT 产业的硬件制造的高低在中国,智能手机厂商华为、OPPO,VIVO,小米,都是全球前几大厂商。硬件生产效率惊人,可以第一时间以合适的成本和速度生产出新领域的硬件平台。

  • 人和: 这个人和不是指具体的某个人,首先国内IT产业经过这些年的长足发展,在底层系统方面积累了人才,操作系统,数据库等。

    还有就是有了全球 TOP 级的平台,阿里,腾讯,华为,这些企业可以和美国的 IT 企业在研发投入上竞争,当新的产业机会出现时,这些巨头肯定会全力投入竞争,起码在资本投入方面,是可以与美国的企业想媲美的。

    还有一个就是国内巨大的市场,一旦占据就可以快速摊销研发成本,产品快速迭代和进化,可以更方便的抢占市场和竞争。抢占新领域的操作系统,就补上了操作系统的一环。

4.新的编程语言

同理,编程语言也一样,一个编程语言的发展,是切实解决产业发展中的问题,提升开发效率而取得发展的,不是闭门造车。

现在最流行的编程语言,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 上的应用开发语言地位了。

5.新产业出现的时间

时候产业会出现新的机会,方向是什么,现在都没有定论。需要大量的先驱去尝试,去探索,最终找到一个出口。这个过程有多久,比较难说。

不过我们可以回顾下历史,PC 发展是起于 20 世纪 70 年代末,大规模普及要到 21 世纪初 Windows XP 发布,2015 年达到顶峰,时间跨度是 35 年(1980~2015)。

智能手机孕育在 20 世纪 90 年代末,有 Windows CE,黑莓等,取得突破是 2007 年在 iPhone 发布,大规模普及在 2010 年,时间跨度是(2000~2010)。

可以看到产业发展速度是呈加速度的,智能手机从 iPhone 发布到规模普及,不到五年。

现在智能手机功能的发展基本已经停止了,近五年已经没有重大的新功能了,CPU 中加入 NPU 等都是在尝试,是不是产业发展方向还不一定,至少华为是走在业界的前沿,开始向无人区探索了。

新的机会现在就在孕育,静悄悄的发展,在寻找发展的最佳路径,就像电子不知道哪里电阻最小,只会寻找最近的电阻最小的方向去。

下面为个人看法

个人觉得电脑,手机以及众多穿戴设备,家用智能设备,这些太复杂了,太多了,确实提升了不少体验,但是使用起来却不智能。

可能会出现一个统一的系统。但是感觉这个产业规模不够大,无法孕育一个主流的操作系统。



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

兄弟,一口,点个!????

你可能感兴趣的:(智能手机,编程语言,人工智能,大数据,iot)