浅谈 计算机软件科学和技术

计算机软件技术 的 核心技术 是 :

 

操作系统 、 编译器 、 关系数据库 、 图形学  。

 

操作系统 包括 操作系统 和 虚拟化,  虚拟化 又包括 虚拟机 和 容器  。

 

在 4 个 核心 技术 中,  图形学 是 最难的 。

如果要 按照 难度 从高到低 排一个 顺序,  那就是 :

 

图形学 -> 编译器 -> 操作系统 -> 关系数据库

 

搞一个 图形学   要 50 年,

搞一个 编译器   要 30 年,

搞一个 操作系统  要 20 年,

搞一个 关系数据库  要 10 年 。

 

图形学 是一个 数学问题 。

图形学 = 60% 的 数学  +  40% 程序设计,   有网友说是 硬件问题, 好吧, 硬件问题 也包括在 程序设计 里 。

 

跟 图形学 比起来, 操作系统 就像是 增删改查(CURD) 的  业务系统  。

操作系统 的  门槛积累 在于 对 硬件 的 了解  。

 

编译器 具有 很高 的 逻辑复杂性,  编译器 的 逻辑复杂性 高于 操作系统,  编译器 是 操作系统 之母 。

有一个 好的 语言,   写 操作系统 并不难 。

 

编译器 的 复杂 来源于 语言语法 的 复杂,  高级语言 复杂的 语法特性 会让 编译器 更加复杂,

编译器 的 复杂 还 来源于 优化 ,   即 编译器 对 代码 的 优化  。

优化 的 复杂 在于 需要 编译器 理解 代码 的 意图,

优化 的 门槛积累  在于 对 操作系统 和 硬件平台 的 了解 。

 

关系数据库 是 4 个 核心技术 中 的 小弟,  关系数据库 的 复杂 在于 数据存储格式 和 检索方式  。

关系数据库 诞生 和 兴起 的 年代 是 以 机械存储器 作为 外部存储器 的 年代 。

所以, 关系数据库 需要 以 顺序存储 为 基础,   但要 兼顾  查询 的 效率,  又要 兼顾 插入 修改 删除 的  效率 。

在  内存  并不大,  也没有  快速的随机存储器  作为 外部存储器 的 情况 下,   要 达到这些 要求,  需要 精巧 的 设计,

这个 精巧 的 设计 是 复杂的,   包括 数据存储格式, 检索(查询)操作,  插入 修改 删除 操作 。

 

在 海量内存 和 快速的随机访问的外部存储器(如 固态硬盘) 普及 的 时代,   高速 的 离散存储 成为 可能  。

在这样的趋势下,   也许  关系数据库 会 逐渐 淡出 历史舞台,  取而代之 的 是  NewSql 数据库(离散存储 数据库) 。

可以参考我之前写的一篇文章  《我发起了一个 .Net 平台上的 NewSql 数据库 BabanaDB》

https://www.cnblogs.com/KSongKing/p/10255420.html     。

 

4 个 核心 技术 中, 图形学 更像 科学  。

图形学 更像 科学, 也 最难   是有 渊源 的 。

图形学 肩负 着   虚拟现实  的  历史使命,   虚拟现实 就是 将 现实世界 映射到 计算机世界 。 这是 图形学 的 先天属性 。

所以, 图形学  最像 科学, 也是 最难的,   是 自然而然 的 。

 

未来, 在 白盒人工智能 中,  图形学 是  基础 科学 和 技术,  白盒人工智能  就是  虚拟现实,

就是 对  现实世界  建模,   用    模型   来 描述  现实世界  。

白盒人工智能 是     下一代     计算机科学技术   的  基础技术 和 核心技术,  是 必争 的 高地  。

 

说到这里, 大家会想起 现在 的  人工智能,  咦 ?    为什么 不把 人工智能 列入到 核心技术 里  ?

现在的 人工智能 是 黑盒人工智能,  跟 游戏 AI  差不多,  只是做的更高级一点,  本质上是一样的  。

打个比方,   就像 游戏 有   假 3D,  真 3D,  

机器学习   就像  假 3D  +  黑盒,

黑盒 就是   不理解 模型,    而是    提取特征 -> 学习特征 -> 适应特征  。

 

 

 

原文地址:https://www.cnblogs.com/KSongKing/p/10326733.html