2025云栖大会,开启通往AGI的未来之旅 了解详情
写点什么

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

  • 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:445581

评论 3 条评论

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

网络协议之:socket协议详解之Unix domain Socket

程序那些事

socket Netty 程序那些事 3月月更

虎符交易所Hoo研究院:元宇宙中的Decentraland是什么?

区块链前沿News

元宇宙 Hoo虎符 虎符研究院

阿里智能运维实践|阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 DevOps 云原生 智能运维

【CAD】入门系列完

謓泽

3月月更

测试1

Journeyman

Nacos源码分析(一)之线程池的巧妙设计,可以薅到自己的项目里

刘祥

SpringCloud Alibaba

实用机器学习笔记二十八:迁移学习

打工人!

学习笔记 迁移学习 机器学习算法 3月月更

一文详解Redis键过期策略

华为云开发者联盟

redis key 惰性删除 定期删除 键过期

从读写角度,带你了解数仓的IO基本框架

华为云开发者联盟

io GaussDB(DWS) IO框架 行存 列存

Open Harmony移植:build lite编译构建过程

华为云开发者联盟

编译 OpenHarmony build lite 芯片开发板

融云猿桌派备忘录,那些被程序员 Pick 的工作方式

融云 RongCloud

程序员 IM

面试突击31:什么是守护线程?它和用户线程有什么区别?

王磊

java面试

周末给女友讲了遍加密算法,没想到...

浅羽技术

算法 安全 加密算法

中小企业如何搭建在线客服中心?

小炮

TPC TiKV:Hackathon 中最硬核项目是如何炼成的?| TPC 战队访谈

PingCAP

sql TiDB

mark: Docker 容器镜像删除

webrtc developer

条码WMS系统的架构

源字节1号

开源 前端开发 后端开发 WMS仓库管理

测试2

Journeyman

图解|从根儿上理解MySQL的索引

蝉沐风

MySQL 索引 B+树

智能问答机器人

DS小龙哥

智能问答机器人 3月月更 智能对话机器人

写给后端开发工程师的H5前端开发知识

得物技术

前端 Web 可视化 后端开发 交互

PendingIntent重定向:一种针对安卓系统和流行App的通用提权方法——BlackHat EU 2021议题详解 (下)

安第斯智能云

安全 安卓

iuap助力澳洋集团打造主数据管理平台

用友BIP

用友 用友iuap

手绘流程图,教你WSL2与Docker容器无缝互相迁移

华为云开发者联盟

Docker 容器 WSL2 迁移

全面解析云智慧数据中心统一运管解决方案

云智慧AIOps社区

安全 运维自动化 数据处理 数据可视化 监控工具

企业知识管理的步骤有哪些?

小炮

使用bds搭建我的世界官方基岩版服务器(windows篇)

Daimon

这些DDD"术语"你知道吗?

idonkeyliu

DDD

Java基础重要面试题(二)

逆锋起笔

java面试 java基础 3月月更

ICT的圣杯(二):数字生活的另类想象

脑极体

微信外H5跳转小程序——<JumpApp/>组件(vue项目)

CRMEB

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