写点什么

InfoQ 编程语言 2 月排行榜结果出炉:最难的语言竟是它

2021 年 3 月 05 日

InfoQ编程语言2月排行榜结果出炉:最难的语言竟是它

基于本期投票数据,我们有以下重要发现:


  • 发现 1:学习门槛最高的编程语言是 C++

  • 发现 2:开发效率最高的编程语言是 Python

  • 发现 3:最多人想学习的编程语言是 Go

  • 发现 4:对使用者最友好的编程语言是 Java

  • 发现 5:用户掌握最多的编程语言分别是 Java、JavaScript、Python


经过 2 周投票,InfoQ 编程语言 2 月排行榜活动正式结束。基于用户的投票数据,我们不仅对程序员与编程语言的关系有了新的认识,而且还有一些有趣的发现。

发现一:学习门槛最高的编程语言是 C++



得票率>=5%的编程语言排名


在学习门槛方面,C++以 15.2%的得票率排名第一,被评为学习门槛最高的编程语言。为什么 C++难学?奇虎 360 技术专家罗剑锋在极客时间《罗剑锋的 C++实战笔记》专栏中这样解释,“随着标准版本的演进,C++里包含的东西也越来越多。最早的 C++98 只有 60 来个关键字,到 C++11 变成了 70 多个,C++20 则膨胀到了近百个。对比一下同级别的 Java、Go 等语言,C++真称得上是‘巨无霸’。而且这还仅仅是核心语言,外面还有更庞大的标准库在等着你。不断膨胀的核心语言加上庞大的标准库,让学习、使用 C++的门槛无形中提高了很多。”


Java 得票率为 10.7%,排名第二,它的学习门槛高度仅次于 C++。这里需要说明的是,Java 语言自身的学习门槛并不高,但 Java 一般用于企业级开发,其整个技术生态系统太庞大了,有很多相关技术。对学习者来说,不仅要学习 Java 语言,而且还要学习其他技术,比如 Spring 全家桶、数据库、缓存等。


Rust 排名第三,得票率为 10.1%,它同样是一门很难学的编程语言。在 Rust 2020 年度调查报告中,15.8%的受访者表示,如果 Rust“不那么可怕、更好学,或不那么复杂”,他们会更多地使用它。以 Lifetimes 为例,很多受访者认为,Lifetimes 用起来比较棘手。

发现二:开发效率最高的编程语言是 Python



得票率>=5%的编程语言排名


在开发高效方面,Python 获得超过 30%用户的支持,排名第一,被评为开发效率最高的编程语言。这主要归功于 Python 语法简单。Go 和 Java 分别以 27.2%、24%的得票率排名第二、第三,也被评为开发效率很高的编程语言。JavaScript 得票率为 20.6%,排名第四,它的开发效率也很高。这主要得益于两点:一、JavaScript 是一门脚本语言,不涉及硬件操作和内存分配;二、JavaScript 的语法结构简单,容易入门。

发现三:最多人想学习的编程语言是 Go


得票率>=5%的编程语言排名


如果要学习一门新的编程语言,你会选择哪一个。这个问题中,有 19.3%的用户选择 Go 语言,因此它也成为最多人想学习的编程语言。Go 语言被视为互联网时代的 C 语言,一方面,当今绝大多数的云原生项目都是用 Go 语言编写的,比如 Docker、etcd、Istio、Kubernetes、Prometheus;另一方面,Go 将可能成为云计算时代的基础设施编程语言,像区块链明星项目 Hyperledger、NewSQL 都是基于 Go 开发的。此外,Go 语言已经成为下一个企业级编程语言,国内包括字节跳动、滴滴、腾讯、阿里巴巴等在内的很多公司都已经在大规模使用 Go。 如果想对 Go 语言有更多了解,可以在极客时间搜索 Go 语言相关专栏《Go语言核心36讲》和《Go进阶训练营》。


在 Go 语言之后,Rust 以 17.50%的得票率稳坐第二。虽然学习门槛较高,但是 Rust 前景光明。从语言自身来说,Rust 在保持 JavaScript 和 Python 等语言所拥有的内存安全性的同时,还有不亚于 C 的性能。它让底层编程更容易,对 WASM 有出色的支持,并且对并发性支持更好,有着活跃的技术社区。并且,Rust 基金会成立、科技巨头对 Rust 的青睐,都让这门编程语言有着美好的前途。正如一名用户所言,“Go 是当下,Rust 是未来”。


Python 得票率为 9%,排名第三。在人工智能浪潮下,Python 在机器学习和数据科学领域越来越受欢迎。对程序员而言,Python 学习门槛低,很容易上手。

发现四:对使用者最友好的编程语言是 Java


得票率>=5%的编程语言排名


在用户友好度上,Java 一骑绝尘,以 33.2%的得票率遥遥领先,被评为对使用者最友好的编程语言。Python 则以 25.3%的得票率,排名第二,同样被评为一门对使用者非常友好的编程语言。Go 语言排名第三,得票率为 22.70%。

发现五: 用户掌握最多的编程语言是 Java、JavaScript、Python


得票率>=5%的编程语言排名


从掌握的编程语言来看,Java 以 37.9%的得票率,排名第一。Java 号称“宇宙第一语言”,并且国内依然是 Java 的天下,占据榜首自然不令人意外。JavaScript 和 Python 得票率分别为 36.6%、33.2%,排名第二位和第三位。这两门语言的特点是相对简单,易上手,容易掌握。


无论是 Java、JavaScript,还是 Go、Rust 等,正如用户所言,“编程语言只是工具,熟练使用工具能够帮助我们更快地开发软件,但是并不能将性能发挥到最大”。有用户这样说,“从学校里(接触的)C、Pascal,到工作中的 Lisp、VB、Java、Python、C++、Go,语言只是工具,学无止境”。此外,另一名用户指出:工作时间长了,或多或少都会接触几门编程语言。不盲目吹或黑某一门语言,毕竟语言只是工具。多学习编程语言背后的因素,感受不同编程语言的优劣,磨练技艺,自我突破。


预告:InfoQ 编程语言 3 月排行榜活动将在 3 月 10 日上线,更多精彩,敬请期待!

2021 年 3 月 05 日 14:293557
用户头像
万佳 InfoQ编辑

发布了 543 篇内容, 共 199.3 次阅读, 收获喜欢 1348 次。

关注

评论

发布
暂无评论
发现更多内容

利其器

宋胖子

IDEA

Java 25周年:波澜壮阔的25年

北风

「Java 25周年」

架构师训练营-每周学习总结1

水边

极客大学架构师训练营

ARTS打卡 week 2

猫吃小怪兽

ARTS 打卡计划

ARTS-WEEK2

一周思进

ARTS 打卡计划

食堂就餐卡管理系统

孙志平

Flink源码分析之Flink startupMode是如何起作用的

shengjk1

flink flink 消费 kafak 实时计算 flink源码 flink源码分析

人人都是产品经理

二鱼先生

产品经理 个人品牌 职场成长 产品思维

架构师训练营第一周作业

小树林

SpringBatch系列之并发并行能力

稻草鸟人

Spring Boot SpringBatch 批量

UML练习1 食堂就餐卡系统设计「架构师训练营」

Young

不可不知的 7 个 JDK 命令

武培轩

Java 程序员 jdk 后端 JVM

Flink源码分析之-如何保存 offset

shengjk1

每周学习总结-架构师培训一期

Damon

程序员的晚餐 | 6 月 4 日 最好吃的土豆

清远

架构师训练营第一周学习总结

王鑫龙

极客大学架构师训练营

Flink源码分析之Flink是如何kafka读取数据的

shengjk1

flink flink 消费 kafka flink源码分析 flink消费kafka源码解析

Element-UI实战系列:Tree组件的几种使用场景

brave heart

vue.js 前端 Elemen

dnsmasq-域名访问及解析缓存

一周思进

架构师如何做架构总结

Karl

极客时间-架构师培训-1期作业

Damon

架构师训练营-命题作业1

水边

极客大学架构师训练营

Flink源码分析之Flink 自定义source、sink 是如何起作用的

shengjk1

flink flink源码 flink源码分析 flink自定义source flink自定义sink

食堂就餐卡系统设计

饶军

程序员陪娃系列——数学启蒙趣事

孙苏勇

程序员人生 陪伴

架构师训练营第一周学习总结

刘志刚

【ARTS打卡】Week02

Rex

因为 MongoDB 没入门,我丢了一份实习工作

沉默王二

mongodb

Flink源码分析之FlinkConsumer是如何保证一个partition对应一个thread的

shengjk1

flink flink 消费 kafka 实时计算 flink源码分析

架构师训练营第一周作业

芒夏

极客大学架构师训练营

食堂就餐卡系统架构设计

Karl

InfoQ编程语言2月排行榜结果出炉:最难的语言竟是它-InfoQ