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

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

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

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

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

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

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

搞一个 图形学   要 50 年,

搞一个 编译器   要 30 年,

搞一个 操作系统  要 20 年,

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

图形学 是一个 数学问题 。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

时间: 2024-11-03 18:43:31

浅谈 计算机软件科学和技术的相关文章

【转】浅谈分布式服务协调技术 Zookeeper

非常好介绍Zookeeper的文章, Google的三篇论文影响了很多很多人,也影响了很多很多系统.这三篇论文一直是分布式领域传阅的经典.根据MapReduce,于是我们有了Hadoop:根据GFS,于是我们有了HDFS:根据BigTable,于是我们有了HBase.而在这三篇论文里都提及Google的一个Lock Service —— Chubby,哦,于是我们有了Zookeeper. 随着大数据的火热,Hxx们已经变得耳熟能详,现在作为一个开发人员如果都不知道这几个名词出门都好像不好意思跟人

浅谈PHP自动化代码审计技术

原文出处: exploit   欢迎分享原创到伯乐头条 0×00 由于博客实在没什么可以更新的了,我就把目前做的事情总结一下,当做一篇博客,主要是谈一谈项目中所运用的一些技术.目前市面上有不少PHP的自动化审计工具,开源的有RIPS.Pixy,商业版本的有Fortify.RIPS现在只有第一版,由于不支持PHP面向对象分析,所以现在来看效果不是太理想.Pixy是基于数据流分析的工具,但是只支持PHP4.而Fortify是商业版本,由于这个限制,对它的研究也就无从谈起.国内对于PHP自动审计的研究

浅谈代码混淆加固技术

随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由java层转到native层,以对抗成熟的java逆向分析工具,然而如果native层的代码如果没有进行任何保护,还是比较容易被逆向分析工作者获取其运行逻辑,进而完成应用破解或者进行其他的操作.那么提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的方法--代码混淆技术. 那么,什么是代码混淆呢?代码混淆的学术定义如下: 代码混淆(code obfu

浅谈大型网站架构技术进化

短短几十年国内互联网发生了翻天覆地的变化,特别是国家支持互联网发展,提出了“互联网+”行动计划,国内各行各业的互联网更是日新月异.作为一个九零后小白没有亲身经历互联网的演变历程,如今看的像淘宝.京东.腾讯这样的大型网站充满了无数的好奇心,这些网站是怎么运作的,如何处理大量用户的请求,如何解决海量的数据库处理···于是才有对于大型网站架构核心原理以及实例分析一系列的笔记记录.所有笔记记录参考<大型网站技术架构核心原理以及案例分析>,该系列文章没有太多的代码展示,着重是对理论知识的描述. 互联网无

浅谈非法外联检测技术的演变

针对隔离内网,非法外联因其危害巨大,一直都是网络边界完整性防护的重中之重. 早期非法外联主要是指以电话拨号为主的私自连接互联网的行为,早期电话拨号还是非常方便的,如163拨号,263拨号等,只要有电话线,就可以随时拨号上网,缺点就是网速慢,收费高.针对早期电话拨号的检测技术是"双机"检测,即一台部署在内网做为扫描端,另一台部署在互联网做为接收端,技术原理大家可以在网上搜,技术实现相对简单,目前已是过时的技术了. 对非法外联的硬性监管要求,加上"双机"检测模式的过时,

浅谈RFID电子标签封装技术

1RFID技术概述 1.1RFID技术概念 RFID是RadioFrequencyIdentification的缩写,即射频识别技术,俗称电子标签.RFID射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境.RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便. 1.2RFID系统的基本组成部分 最基本的RFID系统由三部分组成:标签(Tag).阅读器(Reader).天线(Antenna),一套完整的系统还

浅谈分布式服务协调技术 Zookeeper

Google的三篇论文影响了很多很多人,也影响了很多很多系统.这三篇论文一直是分布式领域传阅的经典.根据MapReduce,于是我们有了Hadoop:根据GFS,于是我们有了HDFS:根据BigTable,于是我们有了HBase.而在这三篇论文里都提及Google的一个Lock Service -- Chubby,哦,于是我们有了Zookeeper. 随着大数据的火热,Hxx们已经变得耳熟能详,现在作为一个开发人员如果都不知道这几个名词出门都好像不好意思跟人打招呼.但实际上对我们这些非大数据开发

浅谈PageRank网页排序技术

PageRank的主要原理是用链接数量作为搜索排序的一个因子.在互联网上,如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高.这就是PageRank的核心思想.举个例子,我们知道一个网页Y的排名应该来自于所有指向这个网特的其他网页X1,X2,.......Xn,的权重之和,如图1所示,Y的网页pageRank=0.001+0.01+0.02+0.05=0.081. 图1 网页排名计算 接下来的问题就是X1,X2,X3,X4的权重分别是多少,如何度量.首先,假定所有的网

浅谈百度搜索引擎分词技术

http://t.qq.com/lishuixiaojiena http://t.qq.com/p/t/445920036433335 http://t.qq.com/wuxixiaoji7846 http://t.qq.com/p/t/466143038709124 http://t.qq.com/jiangyinxi1660 http://t.qq.com/p/t/463343034063965 http://t.qq.com/xuzhouxiao6711 http://t.qq.com/p