⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 cnblogs.com/StitchSun/p/12889614.html 「StitchSun」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

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

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

我的答案是:

中国没有开发出成功的操作系统和编程语言,根本原因是中国的 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 可以运行起来 480320 的分辨率的画质了。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 等都是在尝试,是不是产业发展方向还不一定,至少华为是走在业界的前沿,开始向无人区探索了。

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

下面为个人看法

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

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

文章目录
  1. 1. 1.PC 操作系统发展历史
  2. 2. 2.智能手机操作系统
    1. 2.0.1. 美国智能智能手机操作系统成功的天时地利人和:
  • 3. 3.国内操作系统的机会
  • 4. 4.新的编程语言
  • 5. 5.新产业出现的时间