在多种趋势榜单中,Java、C、Python 已成编程语言界的新任“铁三角”。而在开发者日常使用以及讨论中,编程语言又有什么样的现状?
近日,一年仅发布两次编程语言榜单的美国知名软件开发者行业分析公司 RedMonk 正式发布了 2019 年 Q1 季度的编程语言排行榜。与此前一月一发的 TIOBE 编程语言榜单不同,RedMonk 的编程语言排行榜数据主要来源于开发者最常使用的代码分享之 GitHub 社区和讨论之 * 社区。
其中 GitHub 的数据源是 GitHub Archive,而 Stack Overflow 则是基于 data explorer 工具收集所需的指标,以便开发者可深入了解潜在编程语言的未来应用趋势。
下面,我们就来一起看一下这份榜单。
2019 年 1 月发布
细细看来,该编程语言排行榜的 Top 20 如下所示:
1. JavaScript
2. Java
3. Python
4. PHP
5. C#
6. C++
7. CSS
8. Ruby
9. C
10. Objective-C
11. Swift
12. Typescript
13. Scala
14. Shell
15. Go
16. R
17. PowerShell
18. Perl
19. Haskell
20. Kotlin
从中我们发现,更受欢迎的不是在企业级应用程序中使用最多的 Java,而是 JavaScript。此外,和去年 6 月,RedMonk 发布的编程语言排行榜相比,新的榜单并没有过多的浮动。
2018 年 6 月
事实上,一般来说,编程语言排行榜的前 10-12 种语言,每月甚至于每年几乎都没有太大的变化。虽然在如 GitHub 或者 Stack Overflow 等平台上,开发者在开发时所使用的技术每年可能会根据兴趣爱好或者项目需求发生一定的变化,但是主流且可获得高收益的编程语言就那么几种,这样的现状也导致新的语言想要在一堆强劲竞争的主流编程语言中提升排名越来越难。
不过在此次的榜单中,还是有几个值得我们关注的一些变化:
TypeScript,和去年排行榜相比,上升了四个名次,位列第 12 名。在此也如上文所述,在如今几大主流编程语言当道之时,其他编程语言排名上升实属不易,而通过一年的时间,TypeScript 可以上升四个名次,这也是为什么其会如此值得我们关注的原因。而考量其中缘由,也必然和排名第一的 JavaScript 不无关系。众所周知,TypeScript 是 JavaScript 类型的超集,它可以编译成纯 JavaScript,同时在安全功能,如可选的静态类型检查等方面有很大的提升。但是仅凭功能特性本身不足以快速推动语言的发展,因此它必须通过广泛的项目来推广。近两年,GitHub 上出现了不少有关 TypeScript 的库以及项目。
Go 和 R 分别下降了一个名次:从宏观角度来看,这样轻微的浮动可以忽略不计。不过对于 R 语言来说,其在数据分析和机器学习领域的工具中依然占很大比重。但同时也鉴于 R 的领域局限性,其发展前景应该进不了排行榜的 Top 10。另一款语言,Go,虽然它在技术上受到了高度重视,并且也在各种基础设施项目中广受欢迎,但是到目前为止,它并没有任何的能力证明它会去遵循 Java 的成功脚步。
Kotlin 上升 8 位,进入 Top 20;Scala 下降一名;Clojure 下降 3 名;Groovy 下降三名:在本季度的编程语言排行榜中,变化较大的要属基于 JVM 的语言,如 Clojure、Groovy、Scala 均有所下降,而新贵 Kotlin 反而大幅增长。目前,Kotlin(第 20 名)仍然远远落后于 Scala(第 13 名),但是根据 RedMonk 的历史编程语言排行榜来看,Kotlin 的增长仅次于 Swift,所以,其未来值得期待。
对此,你怎么看?
更完整的报告,可查看:
https://redmonk.com/sogrady/2019/03/20/language-rankings-1-19/
一个编程语言一本畅销书
作者:【美】Al Sweigart 斯维加特
译者:王海鹏
推荐理由:
-
美亚畅销Python编程入门书
-
资深Python程序员力作
-
带你快速掌握Python高效编程
在本书中,你将学习利用Python 编程,在几分钟内完成手工需要几小时的工作,而事先却无需具备编程经验。一旦掌握了编程的基础知识,你就可以毫不费力地创建Python 程序,完成高效的自动化工作
本书是一本面向实践的Python编程实用入门指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的第一部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。
作者:【美】Stephen Prata(史蒂芬 普拉达)
译者:姜佑
推荐理由:
-
畅销30余年的C语言编程入门教程
-
近百万程序员的C语言编程启蒙教程;技术大牛案头常备的工具书
-
针对C11标准库更新
-
蔡学镛 孟岩 高博倾力推荐。
本书是一本经过仔细测试、精心设计的完整C语言教程,它涵盖了C语言编程中的核心内容。作为计算机科学的经典著作,讲解了包含结构化代码和自顶向下设计在内的程序设计原则。
作者:【美】Stephen Prata
译者:张海龙, 袁国忠
推荐理由:
-
一本经久不衰的C++畅销经典教程;
-
首本支持C++11新标准的程序设计图书。
-
它被誉为“开发人员学习C++的必备教程,没有之一”!
本书可以说是一本面向从未学习过C语言甚至是从未学习过编程的人的入门书籍,它的首章从基础内容讲起,先介绍了传统编程的规则,后面才着重讲解有关面向对象——C++的精髓之一——的有关内容。整个书的结构安排较为合理,难度爬升较慢。
作者:刘遄
推荐理由:
-
本书源自日均阅读量近万次火爆的线上同名课程
-
口碑与影响力俱佳
-
旨在打造简单易学且实用性强的轻量级Linux入门教程。
本书基于红帽RHEL系统编写,且内容通用于CentOS、Fedora等系统。本书共分为20章,内容涵盖了部署虚拟环境、安装Linux系统;常用的Linux命令;与文件读写操作有关的技术;使用Vim编辑器编写和修改配置文件;用户身份与文件权限的设置;硬盘设备分区、格式化以及挂载等操作;使用PXE+Kickstart无人值守安装服务;使用LNMP架构部署动态网站环境等。此外,本书还深度点评了红帽RHCSA、RHCE、RHCA认证,方便读者备考。
作者:[美]马丁•福勒(Martin Fowler)
译者:熊节,林从羽
推荐理由:
-
世界软件开发大师的不朽经典
-
生动阐述重构原理和具体做法
-
普通程序员进阶到编程高手必须修炼的秘笈
本书是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员小步地修改代码,从而减少了开发过程中的风险。
4月上市畅销新书
作者:【英】Nigel Poulton(奈吉尔 波尔顿)
译者:李瑞丰, 刘康
推荐理由:
-
亚马逊畅销图书作者,存储专家,Docker技术先驱Nigel Poulton全新作品
-
美亚操作系统排名第一的Docker入门书
-
被业内誉为:高中生也能看得懂的经典入门书
本书是一本Docker入门图书,全书分为17章,从Docker概览和Docker技术两部分进行全面解析,深入浅出地介绍了Docker的相关知识,清晰详细的操作步骤结合大量的实际代码帮助读者学以致用,将Docker知识应用到真实的项目开发当中。
作者:李强 李若瑜
推荐理由:
-
全彩印刷, 3个层级、15个精彩游戏寓教于乐
-
提供示例代码和编程素材下载,方便小朋友自学。
-
注重基础知识的介绍和铺垫,训练编程思维。
本书通过15款有趣的小游戏和小程序,由浅入深地向读者介绍Scratch 3.0编程的基本技能以及程序设计的思维和方法。 按照初级、中级和高级3个难度层次,详细介绍15款趣味游戏的开发过程。
作者:李强 林子为 郝敬轩
推荐理由:
-
全彩印刷,40个丰富多彩的项目,2个完整游戏案例
-
做中学,动手学,轻松掌握Scratch 3.0创意和编程
-
提供代码和素材下载 方便亲子互动和自学
Scratch 3.0是美国麻省理工学院(MIT)发布的新版编程语言和平台,相较于Scratch 2.0,功能和界面进行了较大的更新。
本书是学习Scratch 3.0创意和编程的趣味课程指南。本书从少儿学编程的基础和准备出发,介绍了Scratch 3.0的界面和功能,并通过30多个项目示例,详细展示了各类积木的用法和编程技巧,以及如何将Scratch 3.0与众多流行的硬件结合进行编程开发。最后,通过两个完整的游戏案例的开发,展示了如何综合应用前面课程所学的知识和技能。
作者:叶维忠
推荐理由:
-
325个实例,更多的时间演练机会;650个拓展范例,真正地举一反三
-
1980分钟视频讲解,降低学习难度 ;63个技术解惑,破解学习难点
-
77个课后练习,巩固学习成效 ;2大综合实例,达到学习以致用
-
一本书包含3本书的内容:基础、范例、综合实战
-
超值赠送Python常见故障查询手册
本书循序渐进、由浅入深地详细讲解了Python 3语言开发技术,并通过具体实例演练了各个知识点的具体使用流程。全书共计23章,内容循序渐进,以“技术解惑”和“范例演练”贯穿全书,引领读者全面掌握Python语言。
作者:[印]阿布舍克·维贾亚瓦吉亚(Abhishek Vijayvargia)
译者:宋格格
推荐理由:
-
Python机器学习实用入门书
-
本书提供配套资源可供读者下载
《Python机器学习》通过解释数学原理和展示编程示例对机器学习进行了系统、全面的解析。
本书共分为12章,内容涵盖了机器学习以及Python语言的基础知识、特征工程的概念与操作技术、数据可视化技术的实现、监督学习及无监督学习算法、文本分析、神经网络和深度学习、推荐系统的构建方法以及预测处理时间序列的方法等。
- END -