速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

评论 3 条评论

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

Kubernetes的pod

急需上岸的小谢

10月月更

kubernetes的Controller

急需上岸的小谢

10月月更

2022-10-17:特殊的二进制序列是具有以下两个性质的二进制序列: 0 的数量与 1 的数量相等。 二进制序列的每一个前缀码中 1 的数量要大于等于 0 的数量。 给定一个特殊的二进制序列 S,以

福大大架构师每日一题

算法 rust 福大大

【愚公系列】2022年10月 Go教学课程 032-结构体方法继承

愚公搬代码

10月月更

数字货币:影响深远的创新

CECBC

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript

用声网 Android UIKit 为实时视频通话应用添加自定义背景丨声网 SDK 教程

声网

视频 人工智能’ SDK 教程

【ArchSummit】小红书缓存服务多云建设之路

小明Java问道之路

redis 架构 微服务 云原生 10月月更

Jenkins流水线(pipeline)实战之:从部署到体验

程序员欣宸

Java jenkins 10月月更

大数据入门学习框架

Lansonli

大数据 大数据学习框架 学习大数据

搭建一套 gocd 的环境

lihui

CI/CD pipeline gocd

2022年证券行业818理财节,量变开始转向质变

易观分析

证券 理财节

React的useLayoutEffect和useEffect执行时机有什么不同

beifeng1996

React

2022年中国小微普惠数字化进程专题分析

易观分析

小微金融

网络安全之等保2.0测评

网络安全学海

黑客 网络安全 信息安全 渗透测试 等保测评

Java多线程 ThreadPoolExecutor-RejectedExecutionHandler拒绝执行策略

Yeats_Liao

后端 Java core 10月月更

你有真正的享受过闲暇吗?

暮春零贰

成长 时间管理 10月月更

【一Go到底】第十八天---函数的注意事项

指剑

Go golang 10月月更

聊聊运营活动的设计与实现逻辑

Java 架构 活动运营

C++ | bool变量值在程序运行过程中自动篡改问题解决

中国好公民st

c++ 变量 10月月更

搞一搞明白Vitepress的文档渲染基础

小鑫同学

前端 markdown vite markdown-it 10月月更

Java多线程 ThreadPoolExecutor自定义线程池

Yeats_Liao

后端 Java core 10月月更

始料未及-- 元宇宙传来好消息,全球轰动

CECBC

来自大厂 10+ 前端面试题附答案(整理版)

loveX001

JavaScript

JS模块化—CJS&AMD&CMD&ES6-前端面试知识点查漏补缺

loveX001

JavaScript

元宇宙持续火爆,这些问题值得思考和警惕

CECBC

元宇宙,是噱头还是创新?

CECBC

作为码农,如何让35岁璀璨耀眼

南极仙翁

码农 生活随想 35岁危机 35岁焦虑 10月月更

Kubernetes的pod调度

急需上岸的小谢

10月月更

Java多线程 CompletionService和ExecutorCompletionService

Yeats_Liao

后端 多线程 Java core 10月月更

元宇宙的当下与未来

CECBC

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