1996年是软件技术发展之墙吗?
Posted LaoYuanPython
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1996年是软件技术发展之墙吗?相关的知识,希望对你有一定的参考价值。
☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░
一、引言
2021 年,程序员/研究员/前麻省理工学院研究员 Jonathan Edwards 撰写了一篇名为“警报:技术停滞”的博客,认为 1996 年之后,随着互联网大潮的兴起,软件技术却没有革命性的变革,走的都是 1996 年之前技术的修修补补,没有创新性的新东西。
下面笔者就从操作系统、编程语言和数据库以及应用软件四个方向为代表来分析一下这 25 年来的软件技术发展。
二、操作系统发展
纵观近 25 年来通用操作系统的发展,PC 端单机操作系统基本都是以 Unix、Windows、Linux 为基础的操作系统的持续演进。21 世纪兴起且有广泛市场的 android 和 ios 等移动设备操作系统,也是以 Linux 或 Mac OS 内核基础上发展出来的, 而 Mac OS 却是 Unix 的分支。
而这个时代,互联网的飞速发展,特别是数据中心的建设,使得基于云的操作系统也得到了了长足的发展,不过其基本原理也未脱离早期的分布式操作系统的思路。
因此现代操作系统笔者认为是基于以前的技术进行了创新性的发展,使得其适应新应用场景的需要,不能简单的看成原有操作系统的修修补补,但也不是颠覆式的创新。
三、计算机语言的发展
跟随计算机的诞生,计算机语言经历了机器语言、汇编语言、高级语言三个阶段的发展,前二者诞生以来基本上除了适应硬件的新能力外并没有革命性的变化,而计算机高级语言则群雄割据。我们来看看这些高级语言的发展历史(下图来源于博客园的半世匠人博友的转载博文计算机语言发展简史):
可以看到高级语言在 1996 年之后,基本上只有微软推出的 C#,其思想借鉴了 C 和 Java,并且其市场份额一直被 Java 压其一头。
当然这 25 年来,编程语言各自演进还是有长足的进步,如 Java 与 1995 年诞生之初已经出现了很大的变化,而 Python3.0 与 Python1.0 相比则本身就是颠覆式的升级。
但从新编程语言出现的这个角度,这 25 年来确实比以前风起云涌的情况要落后很多,有点停滞的感觉。
四、数据库的发展
从关系型数据库来看,无论是单机数据库、集群数据库、分布式数据库,无论是 OLTP 还是 OLAP,相关技术这 25 年来都是沿袭过去的理论在发展。
而在互联网时代,NoSQL 数据库的蓬勃兴起,涌现了一大批不同类型的 NoSQL 数据库,如 Redis、Coherence、memcache 、mongdb 、HBase、BigTable 等,这是一种与关系型数据库完全不同技术实现的数据组织管理方式,可以说是 25 年来在数据库方面最重要的创新。
因此从数据库层面,这 25 年来,在 NoSQL 数据库方面出现了颠覆式的技术创新。
五、应用软件的发展
从应用的角度来说,这 25 年来,一方面传统应用软件如数字图像处理、加密软件、视频软件等在以前基础上有了更多的功能优化甚至创新,另一方面新的应用也在不停涌现,如区块链技术软件、支付类软件、大数据处理软件、云原生应用、开发管理软件、通信类软件、虚拟现实支持软件、Hadoop 等,因此相对操作系统、编程语言以及数据库来说,应用软件的发展可谓是继往开来、百花齐放。之所以有这样好的发展形态,应该得益于互联网经济等创造的良好业界生态,给投入其中的企业带来了良好的收益。
六、小结
根据前面对操作系统、编程语言、数据库以及应用软件的发展分析,可以看出,从 1996 年后的这 25 年情况来看,在操作系统、编程语言等基础软件技术方面,这 25 年来的发展相比 1996 年前的年代,虽然也有进步,但总体来说笔者认为确实存在一定程度的降速。而数据库技术方面以及应用软件方面无论是从业人员、还是相关系统,无不说明现在是一个磅礴发展的时代。
综上所述,互联网时代的到来导致软件技术停滞的说法笔者不敢苟同,但互联网时代操作系统和编程语言的进步确实不比 25 年前,而数据库和应用软件的百花齐放说明在互联网大潮的之下,与之配套的软件技术得到了长足的发展。应该说 Jonathan Edwards 的担心有一定的道理,笔者感觉互联网时代从事投入大而收益少的基础软件技术研究的机构和科技工作者少了,使得基础软件最近 25 年来发展明显逊色于 1996 年前。
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
关于老猿的付费专栏
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt开发图形界面Python应用专栏目录》;
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音视频开发专栏文章目录》;
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初学者疑难问题集》为《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初学者疑难问题集专栏目录 》
- 付费专栏《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。
前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。
老猿Python,跟老猿学Python!
☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░
以上是关于1996年是软件技术发展之墙吗?的主要内容,如果未能解决你的问题,请参考以下文章