关于 虚拟化 的 我的看法

虚拟化 的 意义 在于 提供 轻量 的 虚拟机, 到此为止 。     其它 的 事 是     语言  中间件  应用层     的 事 。

 

未来 的 技术热点 :     语言  图形学  轻量操作系统

 

还有 应用层 的 云,   这个也是我看好的 。  比如 Kooboo ,   https://www.kooboo.com/     。

 

未来 黑盒人工智能 会普及,    未来 人工智能 的 新高地 是  白盒人工智能,

白盒人工智能 的 基础 是 对 现实世界 建模,   所以 白盒人工智能 的 基础 是 图形学 。

 

基建(基础设施建设) 是 对 现有的 基础设施 重构,   使之 更加 简洁高效,  不是 在 基础设施 的 上面 再建设 基础设施 。

 

所谓 在 基础设施 的 上面 再建设 基础设施,  是指        容器 , ServerLess , 云函数 , Lambda 云  。

 

操作系统 技术 已经发展 到 饱和 和 成熟 了,   看看 Win 10 就知道 。     基础理论 内核模块 架构 设计模式  就 那么 几套,  没必要 翻过去 翻过来 的 这 老 三 套, 然后 习惯性 的 推出 新版本 。

 

未来 的 操作系统 的 发展空间 和 发展方向 是   智能化 + 3D 体验 + 语音 + 虚拟现实 + 物联网化      等等 比较有 科幻感 的 方向 。

 

作为 面向硬件 和 程序设计   的  初代操作系统,   现在已经 发展到 成熟 和 饱和 了 。  (后世 的 史学家 也许 会 把 计算机 诞生以来 到 现在 的 有过 轰轰烈烈 发展历程 的 我们现在在用的 操作系统 称为  “初代操作系统” ) 

 

现在 对于 初代操作系统 要做的是 简化 、 轻量化  , 以及 泛设备,  跨设备 。

而 未来 硬件 的 标准化 会 随之演进,    这是 对 操作系统 简化 轻量化 的 有利的 客观土壤 。

而 未来 是一个 泛硬件 的 时代,   这也是 初代操作系统 向 跨设备 泛设备  发展 的 土壤  。

 

轻量操作系统, 内核 支持 虚拟机, 加一个 虚拟机 的 壳,   即可  实现  轻量虚拟机 的 效果,  这就是 轻量虚拟化 。

 

看看 现在 的 各种    ”原生云“    ,  比如  OpenStack,   Kubernetes         等等,

汗牛充栋   的 代码,  可以垒成一个 “Stack” ,这是 多么恐怖 的 一个 软件工程 啊  !      这 能说是 科学技术 的 进步  ?

 

关于 开源事业,  我对 多年以来 到 现在 仍然 火热 的 围绕着   Ioc Aop ORM 微服务 “业务框架”   的 现象 表示 呵呵  。

有 网友 说 ,  你到 Git 上搜,  少说可以搜到  几十个  ORM 或者 微服务 框架  。

 

我想说的是,  ORM 是 何方美人, 让 大家 竞相追逐,   乐此不疲 ?

微服务 那更像是 异域佳丽   了 。        哈哈哈哈

 

Ioc Aop ORM 微服务 “业务框架”       没有 技术含量  。

 

我之前在《浅谈 计算机软件科学和技术》 https://www.cnblogs.com/KSongKing/p/10326733.html   里说过,   

计算机软件科学技术 的 4 个 核心技术  是 :

1    图形学

2    编译器

3    操作系统

4    关系数据库

 

大家可以多关注关注 这些 方面  。

 

我今天还看到一篇文章, 《Google工程师是怎么处理大规模数据的?》          https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665516050&idx=2&sn=94065949677f09d53b6f15bbd1706141&chksm=80d67451b7a1fd472602e3a4c54e1865bff4de4818c4ea7a18e6c9d3979bc6b18767a7e6abd6&mpshare=1&scene=23&srcid=0425zfuipgHKnhtoKOlkuj4M#rd

 

比如这种      大数据 处理,  分布式计算,  大规模并行计算,  文档数据库    这些领域, 并不需要 底层技术,  用 中间件技术 就可以 实现,  所以 C# 爱好者 可以用 C# 来实现这些 领域 。

 

所谓 底层技术,  就是 直接 和 操作系统 打交道, 没有 GC, 没有 运行时类型, 没有 反射 等 动态特性,需要自己考虑 平台(操作系统)兼容性  的  语言技术,比如 C/C++  ,   所谓 中间件技术,  就是 java C# 这样的 有 运行时,有 基础库, 不需要 和 操作系统 打交道,不需要 考虑 平台(操作系统) 兼容性 的 语言技术  。

 

什么   “不要发明重复的轮子” 、 “基础设施人家已经做好了,你能做的比人家好吗” 、 “技术是为业务服务的” 、 “客户导向” 、 “不要为技术而技术”    这一类 的 话语 是 有害 的,  已经 误导了人们 很多年  。

 

这些 话语 代表的是 官僚 和 盲目迷信  。  我将之 称为  “Boss 风格”  。

 

如果 老是 拿  业务 说事,    那么, 我告诉你,  业务系统 不需要 技术,  业务系统 使用到的 所有技术 没有 秘密可言  。

业务系统 需要 的 是 软件工程  。

 

个人技术 在 软件工程 面前 就像 一滴水 之于 大海  。

 

软件工程 里 本来 就有 很多 重复劳动,  所以  “码农” 是一个 客观 的 存在, 

合理的做法是,  让 年长 的 人 发挥 经验, 做 指挥官,  让 年轻人 在 一线 贡献 和 磨炼 ,就这么简单 。

所有行业 都是 这样做的  。

 

至于  996,  和 所有 的 行业 一样,  这是 软件工程  要 解决 的 问题,

其它 行业 有 “轮班”,  软件业 就 没有 ?        那些代码 离开了 某个 程序员 就不能 写了 不成  ?

 

为什么 不能 由 2 个 或者 多个 程序员 来 共同 维护 和 开发 一段代码(一个模块)  ?

所有 行业 不都这样 合作 和 轮替 的 吗?

 

设计模式 也没有 技术含量, 设计模式 是 一种常识,   本身也不是什么高深的东西 。

 

也可以这样来分 软件技术,   

1    操作系统   (操作系统 虚拟机 容器)

2    中间件     (java  C#  Go  node.js    网络应用层协议    IO)

3    应用层      (java  C#   node.js   js    业务系统)

 

蚂蚁金服 也不难,  蚂蚁金服 是 中间件 技术, 虽然 它 使用了 容器, 但还是 中间件 技术, 实际上 也 不需要 使用 容器 的 。

蚂蚁金服 主要依赖 大量 的 测试迭代  。

 

微信 也 不难,  微信 也是 中间件技术,   微信 的 服务端 是用 java 写的,  属于 应用层网络协议 和  业务逻辑处理  。

 

QQ  也 不难,  跟 微信 也 差不多,  小马哥 当年 (90 年代) 写了个 QQ 感觉 很牛, 偶像的感觉,

现在看来,   即时通信 也是 稀松平常,  大家随时可以写个 QQ  ,     别跟我说 SignalR,  不需要 。 ^^

不过 小马哥 他们当时 用的 和 操作系统 打交道 的 底层技术 到 今天 还是 很牛 的,并不过时  。

 

 

 

 

 

 

 

 

 

 

 

posted on 2019-04-25 21:06  凯特琳  阅读(746)  评论(0编辑  收藏  举报

导航