剑客
关注科技互联网

计算机更新这么快,怎么编程语言还是二十多年前的?

为什么目前流行的编程语言都是很早以前就发明的?

几种热门语言的发明时间:

  • Python: 1991
  • Java: 1995
  • Ruby: 1990
  • PHP: 1994
  • Javascript: 1995
  • R: 1993

而且奇怪的是这几种语言都集中在: 1990~1995 之间。

计算机更新这么快,怎么编程语言还是二十多年前的? 品雪, 人生如梦

发明得早的语言,并不等于为当时的机器设计的语言。发明得早的语言,现在还活跃的并不是它的最初版,而是持续改进后的成果。事实上,过去编程语言流行有过三次浪潮,驱动力各不相同。

第一波是 50~70 年代,这一波是数学驱动的。

最早的编程语言都是冲着公式翻译去的,1957 年的 FORTRAN 全称是 IBM Mathematical Formula Translating System ,它要为当时的机器生成代码,但高级语言设计目标之一就是要机器无关嘛,所以直到 90 年代,在数值计算领域 FORTRAN 还是占统治地位,90 年代末期这块领域才逐渐 C/C++ 迁移了。

你说的 LISP 是 1958 年搞的,也非常高级。John McCarthy 当时搞人工智能研究,需要表达大量关于世界的事实,他发现列表非常合适,为了直接书写列表就搞出来这个 LISP。当时,数值计算性能比 FORTRAN 慢 10~100 倍,不过这帮搞人工智能的还是用得很开心。

当然这一波里也有异类,比如 1959 年开搞的 COBOL 就是专门为商用软件而非科学计算设计的,高级到不行,只有数字和字符串两种数据类型,语法接近英语,到 90 年代后期,差不多 2000 亿行代码支撑着世界 80% 的商业,直到主机衰落,才逐渐失去活力,现在还有大量遗留系统在用它。

这一波出来的程序大多有一个特点,就是学术范,有很多超越时代的思想和特性,因而生命力极强。但是时至今日,它们的优点也被吸收到性能更好的、表达能力更强、学习曲线更短的新生代语言里,所以逐渐失去影响力也是必然的。

第二波则是 70~90 年代,这一波是系统驱动的。

1970 PASCAL,1972 C,1983 C++ 。这些语言都非常注重性能,虽然也是高级语言,但是没有什么不容易映射到机器上的东西。这些语言至今仍旧非常活跃,比如 C 和 C++ 在 TIOBE 基本还在前三。

第三波则是 90 年代到 2012 左右,这一波是互联网驱动的。

1991 Python,1993 Ruby,1994 PHP,1995 Java,1995 JavaScript。没有互联网提供的 web 服务器端开发机会,大约前 3 个都火不起来,最后那个 JavaScript 完全是互联网的衍生物。服务端开发一般对计算性能不敏感,I/O 什么的才是大头,而浏览器这头一般计算量也有限,所以什么语言都有可能火起来。

你特意把 C/C++ 拿掉是不对滴。第二波和第三波的语言现在都挺活跃的。

现在有点要出第四波的意思了,这一波是厂商驱动的,我的平台听我的。

Apple 搞 Swift,Google 搞 Go,IBM 貌似下注 Swift 了,希望不要出一个 Worm IDE,微软除了互联网那一波搞出来的 C#/F# 又搞了 TypeScript,FaceBook React/JSX 那个其实不能算,不知道啥时候出个正而八经的语言不?

你说 Swift、Go 和 TypeScript 不流行,也是不对滴。

客官,这篇文章有意思吗?

好玩!下载 App 接着看 (๑•ㅂ•) ✧

再逛逛吧 ˊ_>ˋ

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址