高品质的音视频能力是怎样的? | Qcon 全球软件开发大会·上海站邀请函 了解详情
写点什么

巨大的软件停滞

  • 2022-05-11
  • 本文字数:1314 字

    阅读完需:约 4 分钟

巨大的软件停滞

软件正在吞噬世界。但是,1996 年前后,软件技术本身的发展基本上处于停滞状态。以下是我们当时的情况,按时间排序:

 

LISP、Algol、Basic、APL、Unix、C、SQL、Oracle、Smalltalk、Windows、C++、LabView、HyperCard、Mathematica、Haskell、WWW、Python、Mosaic、Java、JavaScript、Ruby、Flash、Postgress。

 

从 1996 年起,我们就有了:

 

IntelliJ、Eclipse、ASP、Spring、Rails、Scala、AWS、Clojure、Heroku、V8、Go、Rust、React、Docker、Kubernetes、Wasm。

 

后面的这些技术都是在以前的基础技术之上的有用的渐进式改进。举例来说,Rails 是对 Web 应用生产力的一个巨大提升,它通过将一系列已有技术以良好结构的方式粘合在一起来实现。但是它没有创造出任何根本性的新技术。V8 也是如此,它通过加速 JavaScript,扩展 Smalltalk 和 Java 中发明的技术,从而实现了新的应用。是的,也有局部的进步:例如,所有权类型是在 1998 年发明的,并在 Rust 中被广泛使用。但自 1996 年以来,几乎所有的东西都是巧妙地重新包装和重新设计之前的发明,或者增加漏层,以部分掩盖下面的问题。什么都不会过时,摇摇欲坠的技术栈却越来越高。是啊,的确有进步,但都是局部的、平淡的。看来我们已经失去了打破现状的勇气。(机器学习除外,它已经有了实际的进步,但是它还可以说是一种完全不同的软件。本文说的是关于人类的编程。)

 

我们这些在 70~90 年代工作的人,经历了无尽的革命性变革。感觉这就是软件的本质:不断被新的平台和范式所颠覆。然后,它就停止了。仿佛我们在 1996 年撞上了一堵墙一样。1996 年到底发生了什么?我想到的是互联网热潮。突然之间,程序员第一次可以迅速变得富有起来。聪明而有野心的人纷纷涌向硅谷。但是,你不能在创业公司做研究(我有尝试过的伤疤)。新技术需要很长的时间,而且风险也很大。稳妥的商业计划就是利用风投资金,把钱投给那些能摆平当前糟糕技术的精英程序员,然后套现。初创企业不具备技术发明的空间。

 

如今,只有像谷歌 /Facebook/ 亚马逊 / 微软这样的巨型企业才有足够的资金和时间去创造新技术。但是,他们似乎只对用最不具破坏性的方式来解决自己的问题感兴趣。

 

不要指望计算机科学的帮助。首先,我们的大多数软件技术都是在学术界计算机科学之外的公司(或企业实验室)创建的。其次,计算机科学强烈限制了高风险的长期研究。你不会这样得到终身职位的。

 

规避风险和对计算机科学的过度专业化是整个科学乃至整个西方文明中一个更大的令人担忧的趋势的一部分,并且也是最近许多讨论的主题(见 The Great Stagnation(《大停滞》)、Progress StudiesIt’s Time to Build)。颇具讽刺意味的是,一些非常成功的软件企业家也参与了这场运动,他们为互联网商业化所带来的进步感到自豪,但似乎对软件本身的停滞和衰败却视而不见。

 

但也许是我在胡思乱想吧。也许,进步在 1996 年停止的原因是我们发明了一切。或许再也没有根本性的突破了,剩下的就是在边缘上修修补补了。这就是最好的:一个有 50 年历史的操作系统,30 年历史的文本编辑器和 25 年历史的语言。扯淡。没有任何技术是永恒的。我们只是失去了改进的意愿。

 

原文链接:

https://alarmingdevelopment.org/?p=1475

 

2022-05-11 10:44154

评论

发布
暂无评论
发现更多内容

HTML进阶

Augus

html 9月日更

网络攻防学习笔记 Day131

穿过生命散发芬芳

网络安全 9月日更

统一区块链应用接口,加速新场景落地

CECBC

为什么 Golang 正在接管软件行业

云原生

云计算 Kubernetes 云原生 编程语言 Go 语言

Rust 从 0 到 1

rust

Java之多重选择

IT蜗壳-Tango

9月日更

Vue进阶(幺零五):elementUI 实现表格行列拖拽

No Silver Bullet

Vue 9月日更

linux之type命令

入门小站

Linux

MimeType文件格式速查表

入门小站

工具

聊聊Java运算符的那些事

Bob

Java 9月日更

让Chrome爽到飞起的5款小众插件!

Jackpop

Python顺序结构选择结构

在即

9月日更

【SpringCloud技术专题】「Eureka源码分析」从源码层面让你认识Eureka工作流程和运作机制(上)

洛神灬殇

源码分析 Eureka spring-cloud 9月日更

15. 弱人工智能、强人工智能、超人工智能

数据与智能

人工智能

什么是可中断锁?有什么用?怎么实现?

王磊

9月日更

云南推进“区块链+数据中心”融合发展

CECBC

性能测试中异步展示测试进度

FunTester

性能测试 接口测试 测试框架 进度条 FunTester

新鲜出炉!腾讯3轮面试,拿53k*15offer全仰仗这份Java面试神技

Java 编程 架构 面试 程序人生

全网最新最全面Java程序员面试清单(12专题5000解析)

Java 架构 面试 程序人生 程序

深入理解rtmp(一)之开发环境搭建

轻口味

android 音视频 直播 9月日更

Golang 中的整洁架构

baiyutang

架构 DDD Go 语言 9月日更

有个码龄 10 年的程序员跟我说:“他编程从来不用鼠标”,我说:

梦想橡皮擦

9月日更

Java中对千万级数据量的表进行插入操作(MYSQL)

张音乐

Java MySQL JDBC 9月日更

每个人都在谈数据治理,每个人都治理不好

奔向架构师

数据仓库 数据治理 9月日更

解决网卡“Device eth0 does not seem to be present, delaying initialization”

耳东@Erdong

9月日更 网卡

ServiceWorker工作原理、生命周期和使用场景

devpoint

Service Worker 9月日更

数字技术重构产业链供应链比较优势

CECBC

编程基础:硬件同步原语

正向成长

CAS 硬件同步原语 FAA

Vue进阶(幺零四):elementUI 应用 $notify 提示信息中换行问题

No Silver Bullet

Vue 9月日更

maven-dependency中作用域scope含义

一个大红包

9月日更

【Flutter 专题】51图解动画小插曲之 Flare 动画

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

巨大的软件停滞_语言 & 开发_Jonathan Edwards_InfoQ精选文章