生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

编程语言巅峰之战,谁才是真正的王者?

  • 2021-07-30
  • 本文字数:2537 字

    阅读完需:约 8 分钟

编程语言巅峰之战,谁才是真正的王者?

编程语言排名一直以来都是备受争议的话题,当我们彼此之间讨论的时间不同,角度不同,结果往往就会不同。因此,我们看到很多机构或者组织每年都会发布很多编程语言排行榜,这些排行榜的算法、角度都不尽相同。

 

TOIBE 编程语言排行榜就是编程语言流行趋势的一个重要指标,它基于互联网有经验的开发者、课程、第三方厂商数量等数据,每个月更新排名情况。

 

今年是 TOIBE 编程语言排行榜发布的 20 周年, TOIBE 榜单第一次发布时,排名前三的编程分别是 Java、C 和 C++,而在今年 7 月的最新榜单中,排名前三的编程语言分别是 C、Java 和 Python。

 

TIOBE 编程语言排行榜虽然是比较权威和流行的榜单,但是它的排名结果主要体现了国外开发者的喜好。而目前国内整体 IT 技术发展与国外有很大不同,因此,我们需要一个真实客观反映各种编程语言在国内排名的榜单。

 

因此,InfoQ 特别推出【InfoQ 编程语言排行榜】,征集国内开发者、程序员对编程语言的喜爱情况。在榜单问题设置方面,我们邀请国内的技术专家与编辑同学共同拟定了八个有代表性的问题,同时精心挑选了当前最流行、最受欢迎的编程语言,诚邀您来投上宝贵一票

人气飙升的编程语言——Julia

 

近年来,Julia 编程语言掀起了一股新的热潮。

 

今年 7 月 9 日,由 Julia 高性能编程语言初创团队建立的 Julia Computing 公司,宣布完成由 Dorilton Ventures 领投的 2400 万美元 A 轮融资(折合人民币约 1.6 亿)。

 

目前 Julia 编程语言在全球用户中拥有 2900 多万次下载量,具有 3.4 万颗星,已经有数千位开源开发者为 Julia 及其 6000 多个注册软件包贡献力量。全球超过 1500 所高校已经在使用 Julia 并教授相关知识,包括麻省理工、斯坦福大学、加州大学伯克利分校等世界一流学府。目前全球已经有超过 1 万家公司使用 Julia 语言,其中包括阿斯利康、贝莱德、谷歌、英特尔、微软、Moderna、辉瑞、NASA、联邦航空管理局以及纽约联邦储备银行等重量级用户。

 

自 2012 年正式亮相以来,Julia 社区规模呈指数级增长。Julia 帮助科学家及工程师们解决各类大规模数据科学问题,消除了只能使用高级语言(例如 Python、Matlab 或 R 语言)进行测试与建模环节、并使用其他高性能低级语言(例如 C 或 C++)进行生产与扩展的割裂问题。

 

Julia 语言的缔造者们,希望它能同时满足计算机科学领域的专家,以及在实际应用方面使用过 R、Matlab、SAS 和 Python 等语言工具的开发者。因此在技术实现上包含了两个核心方面:

 

一是研究动态语言的哪些特征使其难以有效地进行编译,这些特征可能包括任意的非局部效应。开发者进行的一些操作可能产生了持久的正面影响,但是没有实现有效的表达。如果你对此加以限制,并且对语言的设计方式有更加巧妙的构思,就可以获得类似动态和高效的语言,但同时也可能导致传统动态语言出现性能问题。

 

二是“动态多分派(dynamic multiple dispatch)”,它是 Julia 语言的核心范式,允许针对特定类型的参数进行动态最优算法选择。很多年前人们就开始研究动态多分派,但是从来没有一个系统能够从头到尾真正对其进行优化。所以在 Julia 出现之前,这种编程范例的优点从未在系统中真正实现过。

 

与其它编程语言相比,Julia 性能优异

 

在经历了默默无闻的十余年耕耘积累之后,开源 Julia 终于走上了大型企业代码现代化舞台的中心。

最平民化的编程语言——JavaScript


根据 State of the Developer Ecosystem 2021 调研结果显示,过去五年,JavaScript 是最平民化的编程语言,几乎人人都可以随手写几个JavaScript语句。通过对 32000 名开发者的调研,该报告还披露了当前有 69%的人正在使用 JavaScript,39%的人将 JavaScript 作为自己主要的编程语言。

 

那么全球到底有多少 JavaScript 开发者呢?SlashData 预计全球开发者大约为 2430 万,而 JavaScript 在全球约有 1240 万开发者,当然其中包括 TypeScript 和 CoffeeScript 开发者,因为它们都是基于相同的 ECMAScript 标准。

 

开发者众多也在一定程度上决定了 JavaScript 会被世界上绝大多数的网站所使用,同时主流浏览器 Chrome、IE、Firefox、Safari、Opera 等也都支持 JavaScript。

 

为什么 JavaScript 会成为最平民化、流行的编程语言呢?有开发者表示,一方面是因为硬件性能的不断提升,JavaScript 引擎性能得到显著缓解,让开发者有了很大的腾挪空间;另一方面则是因为 JavaScript 学起来容易,写起来简单,不涉及太多底层细节。

 

目前不仅是前端开发者在使用 JavaScript,后端开发者也开始使用 JavaScript。更重要的是,当软件开发行业的规模扩张,企业会更专注于业务,不再更多地关注底层基础设施,因此需要越来越简单易用的工具,JavaScript 自然成为最合适的选择。

编程语言的后起之秀——Go 语言

 

Go 语言是 Google 为解决内部问题而研发的语言,当时 Google 面临的问题是 C++代码量庞大、编译速度慢,程序维护难度大,更新成本高等等。因此,Go 语言的设计目标就是消除各种缓慢和笨重、改进低效和扩展性。

 

Go 语言也被人称为互联网时代的 C 语言。在 Go 语言设计者看来,最值得学习的编程语言是 C 语言,而 C 语言能盛行多年的原因是足够简单,在这一点上,Go 语言也足够简单。

 

自 Go 语言发布之后,很多公司尤其是云计算公司都开始使用 Go 语言来重构基础架构,甚至很多项目都直接采用 Go 语言来开发。

 

使用 Go 语言的公司包括 Facebook、Google、Apple、亚马逊云科技、腾讯、百度、京东、小米、360、美团、滴滴等,而使用 Go 语言开发的项目更是不胜枚举,例如我们所熟知的 Kubernetes、Docker、etcd 等。

 

在 InfoQ 此前发布的编程语言排行榜调查中,Go 语言以 19.3%的得票率成为了开发者最想学习的编程语言。那么,在这次调查中,Go 语言是否真的会成为后起之秀,让我们拭目以待。

写在最后

 

我们为什么要关注编程语言的排行情况呢?其实并不是为了区分出编程语言的优劣好坏,不同的编程语言在不同场景下都有各自的优势。之所以关注排名,是因为排名其实在一定程度上反映出了该语言在市场上的表现,对于开发者的职业发展会有所帮助。

 

目前很多榜单反映的是全球开发者的编程语言应用情况,很多结论与国内开发环境、发展情况都有差距。因此,我们希望汇聚在 InfoQ 平台上的百万开发者能够通过我们设置的榜单,评选出真正符合国内开发现状的编程语言榜单。 


投票链接:https://www.infoq.cn/talk/VPZYhxw3YpYANxYLx0QR

2021-07-30 12:445100

评论 3 条评论

发布
用户头像
水文
2021-08-09 10:08
回复
用户头像
2021-08-07 12:02
回复
用户头像
垃圾文章
2021-07-30 18:57
回复
没有更多了
发现更多内容

我在阿里实习做开源

阿里巴巴云原生

阿里巴巴 云原生 dubbo 个人提升 中间件

电子证照上链--助推智慧政务

13530558032

LeetCode题解:92. 反转链表 II,迭代,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

透过 3.0 Preview 看 Dubbo 的云原生变革

阿里巴巴云原生

容器 运维 云原生 dubbo 应用服务中间件

单账户实时记账能力达2万笔每秒 蚂蚁启用新一代高性能记账引擎

DT极客

可能是绝唱!阿里资深工程师深度解读Netty底层核心源码

Java架构追梦

Java 源码 架构 面试 Netty

低代码是什么?低代码价值主要体现在哪?

优秀

低代码

阿里面试官:Android开发真等于废人?已拿offer附真题解析

欢喜学安卓

android 程序员 面试 移动开发

2021最新分享三面百度提前批(Java开发岗)面经 已拿Offer

比伯

Java 编程 架构 面试 程序人生

从解决Github TimeOut到经典面试题:从输入URL到浏览器显示页面发生了什么?

秦怀杂货店

GitHub TCP 网络 HTTP DNS

被MySQL慢日志查询搞废了?3分钟教你快速定位慢查询问题!

观测云

云计算

实现跨生态互联,区块链赋能智能家居新体验

旺链科技

区块链应用 智能家居

主数据建设的挑战与发展

EAWorld

​Autonomous Dream Works的独创力杰作EGGNetwork EFTalk

币圈那点事

这个GItHub上的Java项目开源了,2021最全的Java架构面试复习指南

Java 程序员 面试

推荐 2 款必备的 Django 开发神器

星安果

Python django Web 后端

程序员去大公司面试,小程序FMP优化实录,已拿offer入职

欢喜学安卓

android 程序员 面试 移动开发

能源绿色管控:天然气站启动数字化转型,工业企业该如何突围?

一只数据鲸鱼

物联网 数据可视化 智慧城市 能源管理 天然气

python编译器中出现了绿色波浪线,光标放上去出现的提示是什么意思?

Emotion

为什么python中程序的结果会一直输出,需要怎么解决

Emotion

Datadog 能成为最大的云监控厂商吗

睿象云

运维 运维平台 Datadog 云监控

区块链中药溯源--区块链为中医药溯源认证

13530558032

OpenKruise 如何实现 K8s 社区首个规模化镜像预热能力

阿里巴巴云原生

Serverless 容器 云原生 k8s 调度

定义结构体访问结构成员的三种方法

Emotion

如何正确使用Python临时文件

华为云开发者联盟

Python 安全 临时文件 tempfile 库函数

Golang号称最快的Json解析器速度可达5623ns/op

happlyfox

学习 3月日更 Go 语言

字节抖音iOS客户端实习 123hr面 面经

iOSer

ios 字节跳动 面试 抖音

为了跳槽刷完1000道Java面试真题,没想到老板直接给我升职了

Java 程序员 架构 面试

困扰一周的奇葩bug:重复相似代码多,导致单片机程序跑飞

不脱发的程序猿

28天写作 硬件设计 嵌入式软件 单片机 3月日更

力扣(LeetCode)刷题,简单题(第13期)

不脱发的程序猿

面试 LeetCode 28天写作 算法面经 3月日更

基于深度学习的两种信源信道联合编码

华为云开发者联盟

深度学习 通信 编码 信源编码 信道编码

编程语言巅峰之战,谁才是真正的王者?_编程语言_田晓旭_InfoQ精选文章