写点什么

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

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

评论 3 条评论

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

Reactor响应式编程,你只差这个!

CodeWithBuff

Java reactor

毕业两年就拿到腾讯,字节offer,原来是看了这份BAT总结的面试核心知识点

Java架构师迁哥

【Flutter 专题】97 仿网易新闻标签选择器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

二分查找常见套路与分析

gevin

算法 二分查找

分层架构:一个经典却得不到优的难题

码猿外

架构 微服务

架构实战营模块一作业

Clarke

架构实战营

🐬【MySQL技术导航】「索引技术」体验前所未有的技术探险,看穿索引的本质和技术体系(上篇)

码界西柚

MySQL 索引结构 7月日更 索引原理

WebFlux 操作 MySQL 是种什么体验?

比收费软件还良心的软件,这回藏不住了 | OBS

彭宏豪95

效率 软件 App 录屏软件

【架构设计模块一】:微信业务架构图 & 学生管理系统

Ryoma

架构实战营

成功拿到饿了么offer后!我总结 5月上半月大厂面试真题,押题命中率高达 95%以上

Java 程序员 架构 面试

架构实战营模块七作业

竹林七贤

足足13万字,腾讯架构师纯手肝“JDK源码笔记”带你从入门到实战!

Java架构师迁哥

免费分享Java高并发与多线程的优秀图书

Java入门到架构

Java 推荐书籍

完美收官!字节4面斩下2-2Offer,入职就是30K16薪,全凭这套“面试+架构进阶知识点”pdf

Java 程序员 架构 面试

external-attacher源码分析(1)-main方法与启动参数分析

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

网络攻防学习笔记 Day63

穿过生命散发芬芳

网络攻防 7月日更

MySQL开篇

卢卡多多

架构 MySQL 数据库 7月日更

先到先得先学!Spring Cloud Alibaba第三版耀世升级全彩PDF版

Java架构追梦

Java 阿里巴巴 架构 面试 SpringCloud

Hive解析Json数组超全讲解

五分钟学大数据

hive 7月日更

【LeetCode每日一题 Day 4】4. 寻找两个正序数组的中位数

编程熊

程序员 算法 LeetCode 面经 笔试

如何预防一个服务故障崩掉整个系统?【熔断】

我爱娃哈哈😍

微服务 架构设计 熔断

Java线程映射到操作系统线程原理浅析

CodeWithBuff

Java JVM

杀进腾讯你知道多难吗?6个小时,4 轮技术面+1 轮 HR面,面到吐才斩获40k*16 薪offer!

Java架构师迁哥

整整奋战6个月,入职字节跳动那一天,我泪目了

Java架构师迁哥

《持之以恒的从事运动》一

Changing Lin

啥,Vue又出新单曲?

wzx

Vue 大前端

排序——冒泡排序

若尘

排序 冒泡排序 冒泡

凌晨起来肝的一篇 Java 学习路线,保证学弟学妹们大三大四的时候顺利找到实习 Offer

不收藏你就后悔吧!费了三天才从GitHub上扒下的阿里Java优化笔记

Java架构师迁哥

微信业务架构图和“学生管理系统”毕业架构设计

NewBranSTONE

#架构实战营

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