从机器语言到汇编语言到高级编程语言,随着计算机的普及,开发者与计算机之间的沟通也从“繁文”趋于“白话文”,编程语言自身也逐渐向更高的性能、安全等方向不断发展。同时,作为开发者的最有效工具,编程语言的使用率一定程度上反应了不同领域的发展现状。
日前,IEEESpctrum在分析CarrBuildr、GitHub、Googl、HackrNws、IEEE、Rddit、StackOvrflow和Twittr八大主流网站中开发者对编程语言的使用情况后, 发布了01年度编程语言排行榜,通过剖析55种编程语言的流行度,以此希望呈现开发者工具的最真实应用现状。
Python夺冠,但它并不适合所有人
在众多编程语言中,近几年来,Python的发展势如破竹,就连早已宣布退休的Python之父GuidovanRossum也于去年11月加入微软开发者部门,旨在依托开源,保障大家可以更好地使用Python。因此,Python在IEEESpctrum所发布的01年度编程语言排行榜中再次摘得桂冠也属意料之中。
“学习Python。这是我们可以从其在IEEESpctrum年度 编程语言交互式榜单中持续占据主导地位的 收获。”IEEE官方如此评价道。
凭借简单的编码、可扩展、GUI编程支持、面向对象、可移植等优势,Python主要被开发者用于Wb应用程序、桌面应用程序、媒体工具、网络服务器以及机器学习等场景中。
同时,Python拥有丰富的库支持,如果你掌握了Python的基础知识,就可以迅速了解很多项目如嵌入式、AI系统的来龙去脉。
IEEESpctrum编程语言排行榜TOP55
当然,Python的流行并不意味着每位开发者都必须上手去学习。根据编程语言自身特性的不同,每种语言的适用范围也有所不同。据调查显示,作为同样适用于AI、数据分析等领域的R、SQL、MATLAB等语言而言,因其更适合解决一些特定的问题,它们的使用率也正在逐步上涨。
与此同时,相较去年,C、C++、Java和JavaScript等老牌编程语言的得分在今年均有所上涨,而每年行业中不时出现的唱衰论对这些语言自身的发展影响并不大,因为在一些企业级应用、或是游戏开发、前端领域中,这几种语言所编写的应用仍占据主导地位。事实上,出于性能原因,Python本身及它的一些库的重要部分都是用C语言来编写的。
因此对于开发者究竟该如何选择编程语言这一问题,不久前,Java之父JamsGosling在采访时也做出了回答,其表示:
我学的 种编程语言是PDP-8汇编代码,随后是Fortran。大家可以去学习任何语言,有些人的接受能力更强,但这很大程度上取决于一个人最终的职业道路。如果你想成为一个软件开发人员,你要构建大型的、高性能的系统,运行在JVM上的语言最值得去学习,例如Scala和Kotlin,Clojur也很有趣。如果你是物理专业的学生,Python是个不错的选择。其实选哪一种语言都无关紧要,很多人都只是坚持他们学到的 种语言,如果你能让人们反复学习各种语言,那肯定是 的。我认为每个大学都应该为学生开设一门“比较编程语言”的课程。用五种不同的程序语言完成作业,这能加快学习进度,并且他们会发现这些语言的区别真的不大,同时也能让他们自己去思考,哪一种语言更好。很久以前我上过一门课,每次作业我都用最不合适的语言,例如,用Cobol语言进行数值计算,以及Fortran中的符号操作。令人惊讶的是,我的成绩依然是A。
编程语言变化
编程语言的选择只要是适合自己的就好,正因此,今年IEEESpctrum的年度编程语言榜单也是交互式的,即开发者可根据自己的喜好或者场景,查看不同的榜单。
不过,在一些特殊时期,有些语言的波动会比较大。譬如通过Twittr的指标我们发现,上古编程语言COBOL从上次的第七位下降到了如今的第34位,这是因为过去一年间,在面对Covid大流行时,国外政府的不少管理软件采用的是COBOL语言编写,亟需大量的COBOL程序员进行维护,因此,在00年期间,COBOL一度成为Twittr上热门话题。
另外,IEEESpctrum默认排名中,微软的C#从去年的第5位上升到了今年的7位,在剖析其背后原因时,IEEE官方表示或与C#9.0于去年年底发布有关,同时,即将发布的Windows11也对C#有深度的应用。
就业需求编程语言排行榜
从就业与招聘需求的角度来看,该榜单与整体编程语言趋势榜单相差不大,其中Python依然位居榜单 ,其次分别为C、Java、C++、Go。
开源项目中编程语言排行榜
在开源领域,Python、Java、JavaScript位居前三甲。从应用场景来看,Python主要应用在框架与库的创建中,Java则更多聚焦于工具层面,JavaScript应用于前端项目中。
更多报告内容可参考: