为什么我们不再需要新的编程语言

作者 | 徐杰承Abh致力于为用户收集丰富的生活经验知识

上世纪80至90年代,伴随着计算机的逐渐普及,大量编程语言也在这一时期诞生。彼时,世界范围内平均每一个月便会产生一种新的编程语言。据不完全统计,截止到2022年,人类已经开发了大约9000种编程语言。Abh致力于为用户收集丰富的生活经验知识

然而,随着时间的推移,新编程语言的诞生速度却在持续下降,尤其在过去几年间,新编程语言的产生频率已放缓到了约一年一种。但这一变化却似乎并没有给开发者们带来任何影响,我们所熟悉的Python、JavaScript等一众老伙计依然足矣应付目前绝大多数的研发需求,并且仍旧表现强势。那么,这是否意味着我们已不再需要新的编程语言了呢?Abh致力于为用户收集丰富的生活经验知识

1、为什么一些编程语言能够长期流行?

Python、JavaScript等语言能够长期流行且受到开发者们的广泛喜爱,很大程度上是由于它们的用户友好性。以Python为例,作为一种高级编程语言,Python拥有丰富的开发框架、广泛且高质量的可用库与良好的代码可读性。并且具有用户友好的数据结构,还提供了web服务的轻松集成,这些优点使得其备受开发人员的青睐。Abh致力于为用户收集丰富的生活经验知识

而JavaScript作为目前市面上最受欢迎的编程语言之一,能够方便地操纵各种浏览器对象、支持分布式运算和处理,且与绝大多数互联网浏览器兼容,目前我们能够看到的所有网站几乎都是基于JavaScript所构建的。此外,JavaScript自诞生以来不断通过大规模的更新使自己与持续发展的技术生态系统紧密相连,如今的JavaScript与十年前的JavaScript几乎可以说是两种语言。Abh致力于为用户收集丰富的生活经验知识

2、为什么我们不再需要新的编程语言?

当路面变得不再平坦时,造一些更好的轮子永远比造一辆新车要来的方便。相比于从头开始构建一种新的编程语言,几乎所有的开发人员都更愿意选择在现有语言的基础上更新框架,这也是绝大部分开发者们用脚投票的结果。Abh致力于为用户收集丰富的生活经验知识

MachineHack首席技术官Krishna Rastogi曾在一次采访中公开表示“从头开始构建编程语言是一个非常消耗时间和资源的过程,绝大部分问题只需要更新框架就可以轻松解决。并且,当涉及到编程语言功能时,更多并不一定代表着更好。当我们用多种方法描述同一个想法时,它可能会变得令人困惑。”。Abh致力于为用户收集丰富的生活经验知识

根据Krishna Rastogi的介绍,早期的软件行业之所以会出现种类如此种类繁多的编程语言,是由于早年间硬件的性能不够可靠,因此开发人员必须通过复杂多样的编程语言来弥补硬件功能方面的种种不足。但如今,硬件已经发展得足够优秀,开发人员自然就不再需要使用那些复杂且没有太多实际意义的编程语言,去选择那些泛用性更强、功能更强大且更加友好的编程语言就足够了。Abh致力于为用户收集丰富的生活经验知识

除此之外,一门编程语言的兴衰与否,与其周围的生态环境也有着至关重要的联系。主流的成熟编程语言周围大多拥有各类庞大的社区,这些社区能够为语言以及新晋学习者提供源源不断的资源补充,使整个语言的生态系统得以持续发展。老牌语言在这方面的技术资产,是后来者极难超越的。Abh致力于为用户收集丰富的生活经验知识

最后一点,从功利角度来讲,由于大多数工程师在入行时都会选择学习较为成熟的编程语言,并围绕语言选择工作方向、堆砌自己的技术栈。因此企业在对于技术架构的选择方面,也会因为稳定性及人员招聘等问题而遵从一定的设计原则,这样双向促进的逻辑也就自然而然的形成了一个闭环。Abh致力于为用户收集丰富的生活经验知识

3、非英语种编程语言有前途吗?

前文中我们对于编程语言的讨论始终围绕着语言本身的一些特点,那么,在语种这个世界性问题上,会有新的编程语言给出不一样的答案么?非英语种编程语言的目的,是为了让那些母语非英语的开发者能够使用自己更为熟悉的语种,进行程序的设计与创作,但这个想法在执行方面却面临着很多的困难。Abh致力于为用户收集丰富的生活经验知识

例如,计算机科学家Ramsey Nasser在贝鲁特大学学习期间,发现自己所学的所有编程语言都高度依赖于英语,他对此非常失望,因此决定从头开始创造一种阿拉伯语编程语言,但这件事最终却以失败告终。对此,Ramsey Nasser指出了在开发中遇到的许多困难,最主要的一点便是:英语已经深深烙印在了各种软硬件操作系统之中,因此创造其他语种的编程语言需要用特定语种对过去几十年的软件工程进行重写,这几乎是不可能完成的任务。Abh致力于为用户收集丰富的生活经验知识

当然,你可能会说如今市面上确实有不少基于非英语种的编程语言,例如中文编程语言“易语言”、日文编程语言“抚子”等。但其实它们都没有成功摆脱英文编程语言的束缚,例如“易语言”就是基于C++进行构建的。这些非英语种编程语言,绝大部分只是基于传统编程语言进行了大量封装和重写。虽然对于初学者而言,这类语言的确会显得相对简单,但在性能、可用性等方面,这类语言则完全无法与传统的基于英语的编程语言相比。Abh致力于为用户收集丰富的生活经验知识

4、Web3会改变编程语言的新格局吗?

分析最近十几年编程语言的发展变化,我们不难发现,现代编程语言的语法、特性、语言设施、编程范式等方面都在逐渐趋同,业界主流的编程语言都在朝着优化开发者生产力的方向演进。基于这个趋势,我们可以判断,这便是Web2.0时代编程语言发展的终极目标。Abh致力于为用户收集丰富的生活经验知识

但随着近期Web3呼声的不断加剧,新一代互联网似乎已经离我们越来越近了。而Web3的到来,势必将会重塑整个互联网的生态系统,并催生出大量专属于Web3时代的全新应用。届时,我们将极有可能需要更多全新的、更加适用于编写智能合约和开发区块链应用的编程语言来填补Web2与Web3之间的沟壑。Abh致力于为用户收集丰富的生活经验知识

也许你还喜欢

鹅鸭杀由于网络问题无法进入房间

鹅鸭杀不显示游戏房间、无法加入房间是游戏网络不适合本地网络的原因,鹅鸭杀作为一款海

传统制造企业有必要建设增材制造中

在我们日常娱乐和日常工作中,我们如果想将FLV格式视频转换为MP4文件该怎么办呢?今天就

验证码无法显示怎么办图文介绍

验证码图片有些时候不能显示,那我们怎么办呢?下面将为大家讲解关于验证码无法显示的解决

公司电子印章生产制作图文教程

印章,用作印于文件上表示鉴定或签署的文具,一般印章都会先沾上颜料再印上,不沾颜料、印上

手机信息加密软件有哪些

今天给大家推荐加密软件排行榜,当然了,根据不同的排行和标准,加密软件排行榜前五名可能有

打字机效果怎么做图文介绍

如何在PPT中制作打字机效果呢?下面就是具体的实现方法。

百度文档下载器怎么用图文教程

很多小伙伴都知道百度文库中的很多资料资源下载下来都是需要付费或者是开通会员才能够

怎么去除视频水印方法图文详解

怎么用视频水印去除工具给视频去水印呢?我们可以用AE软件来去除,现在我来教大家吧!

android退出程序的几种方法

清除不使用的应用程序超出了应用程序管理的范围。它可以优化设备的性能并延长电池寿命

移动端关键词优化软件有哪些

SEO关键词排名软件,正是帮助网站在搜索引擎结果中获得更好排名的利器。