低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

最难的编程语言是哪一门?| 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:293672
用户头像
万佳 InfoQ编辑

发布了 551 篇内容, 共 202.5 次阅读, 收获喜欢 1382 次。

关注

评论

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

CAP原理, Doris 临时失效的处理过程

garlic

极客大学架构师训练营

CAP原理

架构 2 期 - 第二周作业(2)

浮生一梦

极客大学架构师训练营 第二周总结 2组

架构师训练营第二周作业2

韩儿

CAP原理

A p7+

依赖倒置原则和优化设计相关

DL

第六周 技术选型(2)作业

钟杰

极客大学架构师训练营

极客时间架构师训练营1期-第6周总结

Kaven

架构师训练营第一期第六章作业-简述CAP理论

睡不着摇一摇

极客大学架构师训练营

Week 6 作业01

Croesus

java安全编码指南之:序列化Serialization

程序那些事

java安全编码 java安全 java安全编码指南 java代码规范

第二周作业

CraspLion

架构师入门学习感悟二

莫问

架构师训练营第二周作业

Sandman

极客大学架构师训练营

作业-框架设计

arcyao

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

Kaven

2.8 第二周课后练习

lithium

极客时间 架构师训练

第二周设计原则

Geek_9527

架构师训练营第六周命题作业

成长者

极客大学架构师训练营

Redis Cluster你弄明白了吗?

Man

分布式 中间件 redis cluster

架构师训练营 - 第六周总结

一个节点

极客大学架构师训练营

架构师训练营第二周作业1

韩儿

极客大学架构师课程作业-第二周

井中人

极客大学架构师训练营

第六周 技术选型(2)学习总结

钟杰

极客大学架构师训练营

第六周课后练习

天天向上

极客大学架构师训练营

架构师训练营第 1 期 - 第六周作业提交

Todd-Lee

极客大学架构师训练营

第六周总结

fmouse

极客大学架构师训练营

第二周学习总结

lithium

极客大学 架构师训练

芯片破壁者(十八):CPU战争三十年

脑极体

Week 6 作业02

Croesus

架构 2 期 - 第二周作业(1)

浮生一梦

极客大学架构师训练营 第二周作业 2组

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

最难的编程语言是哪一门?| InfoQ编程语言2月排行榜-InfoQ