猿创征文|一文分析过去几年中热门的 Java 技术趋势何去何从?
Posted 放羊的牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猿创征文|一文分析过去几年中热门的 Java 技术趋势何去何从?相关的知识,希望对你有一定的参考价值。
在 Stack Overflow 上,与某一技术相关的帖子数量越多,则说明该技术的开发者数量越多,也从侧面反映了该技术的流行程度和受欢迎程度。在第三章中我们介绍了数据的获取和预处理。在标签提取阶段,我们得到了提取问题文本所需要的 93 个标签。在这些标签中,有很多标签代表很多热门的 Java 技术,那么近年来在 Stack Overflow 上,与这些 Java 技术相关的帖子数是如何随时间变化的呢?我们在本章中对该问题进行统计分析。
Java 技术使用趋势统计
- 数据提取
在本节中,我们对一些 Java 热门技术历年来相关帖子数变化趋势进行分析。首先,我们选择标签提取阶段获得的其中 6 个标签所代表的技术进行分析。这 6 个标签分别是“spring”、“hibernate”、“jdbc”、“java-ee”、“maven”和“javafx”。接下来我们将分析每一种技术相关帖子数随时间变化的趋势。
首先,针对 Posts.xml 文档中的每一个帖子的 Tags 标签进行筛选,若该帖子(记为P)的 Tags 标签包含上述某技术(记为 T)所对应的标签,则将该帖子的年份(记为 Y)取出,我们将 T 技术在 Y 年内的帖子数加一。以此类推进行迭代,直到将 Posts.xml 文档中的所有帖子全部遍历完毕,我们就得到了每一种框架每一个年份的帖子数。由于我们的数据集是从 2008 年 7 月 31 日开始,至 2017 年 3 月 14 日截止,所以我们将 2008 年和 2017 年的帖子数去掉,不进行统计分析。这样,我们就得到了从 2009 年到 2016 年八年间上述 Java 技术各年份的帖子数。
- Java 技术趋势统计
Spring 框架相关帖子数如图所示。Spring 是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。简单来说,Spring 是一个分层的 JavaSE/EE full-stack(一站式)轻量级开源框架。从图中可以看出,从 2009 年到 2016 年,Spring 框架相关帖子数逐年增长,并且保持稳定增长趋势。我们可以得出,Spring 框架的使用者随着时间的增长逐渐增加,并且保持稳定增长趋势。
Hibernate 框架相关帖子数如图所示。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,它将 POJO 与数据库表建立映射关系,是一个全自动的 ORM 框架,Hibernate 可以自动生成 SQL 语句,自动执行,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。从图中可以看出,从 2009年到 2012 年,Hibernate 框架相关帖子数逐年增长,但增长越来越慢。2012 年到 2014 年,Hibernate 框架相关帖子数增长缓慢,总体上比较稳定。2014 年以后,Hibernate 框架相关帖子数呈下降趋势。我们可以得出,Hibernate 框架的使用者随着时间的增长逐渐增加,到 2012 年后相对比较稳定,2014 年后逐渐减少。
JDBC 技术相关帖子数如图所示。JDBC(Java DataBase Connectivity,Java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多种关系型数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。JDBC 提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。从图中可以看出,从 2009 年到 2014 年,JDBC 技术相关帖子数逐年增长。直到 2014 年后,JDBC 技术相关帖子数缓慢减少。我们可以得出,JDBC 技术的使用者随着时间的增长逐渐增加,直到 2014 年后缓慢减少。
Java EE 技术相关帖子数如图所示。Java EE 是 J2EE 的一个新的名称,J2EE 是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化和规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。从图中可以看出,从 2009 年到 2012 年,Java EE 技术相关帖子数逐年增长。直到 2012 年后,Java EE 技术相关帖子数逐年下降。我们可以得出,Java EE 技术的使用者随着时间的增长逐渐增加,直到 2012 年后逐渐减少。
Maven 相关帖子数如图所示。Maven 是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。从图中可以看出,,从 2009 年到 2013 年,Maven 相关帖子数逐年增长,并且保持稳定增长趋势。2013 年以后增长速率有所下降。我们可以得出 Maven 的使用者随着时间的增长逐渐增加,保持稳定增长趋势,之后有所减少。
JavaFX 技术相关帖子数如图所示。JavaFX 技术主要应用于创建 Rich Internet applications(RIAs)。当前的 JavaFX 包括 JavaFX 脚本和 JavaFX Mobile(一种运营于移动装置的操作系统)。JavaFX Script 编程语言(以下称为 JavaFX)是一种声明性的(declarative)、静态类型的(statically typed)脚本语言。从图中可以看出,从 2009 年到 2016 年,JavaFX 技术相关帖子数逐年增长,并且保持稳定增长趋势,2016 年以后,JavaFX 技术相关帖子数有所下降。同时,我们还可以看出,从 2009 年到 2011 年,JavaFX 技术相关帖子数总量非常少,2012 年后才逐渐多起来。我们可以得出,JavaFX 的使用者一开始数量极少,随着时间的增长逐渐增加,并且保持稳定增长趋势,直到 2016 年,使用者数量开始减少。
- 结论
Java 提供了丰富的类库、API 文档以及第三方开发包,同时还有大量的基于 Java 的开源项目。因此,开发者在使用 Java 语言进行程序设计时,没有必要亲自完成所有代码,在前人的基础上进行开发是非常明智的选择。这就需要开发者在进行程序设计时有选择地使用框架或者第三方开发包,选择什么样的框架至关重要。通过对以上几个框架在 Stack Overflow 中相关的帖子数随时间变化的趋势进行分析,可以为开发者在框架的选择方面提供帮助。例如,有些框架的帖子数逐年增长,则说明该框架的使用者越来越多,原因可能是这是一款新开发的框架,并且使用起来非常方便,这样的框架可以极大地提高开发者的工作效率。由于这些原因,开发者可以选择这样的框架进行开发。而有些框架的帖子数逐年下降,说明该框架的使用者越来越少,原因可能是出现了性能更好、功能更全、更易使用的框架取代了该框架,也可能是发布方停止了对该框架的维护更新或者将该框架集成到了其他框架之中等等。由于这些原因,开发者应该尽量避免再次使用此类框架。
以上是关于猿创征文|一文分析过去几年中热门的 Java 技术趋势何去何从?的主要内容,如果未能解决你的问题,请参考以下文章
国庆散文|一文分析过去几年中热门的 Java 技术趋势何去何从?
国庆散文|一文分析过去几年中热门的 Java 技术趋势何去何从?
猿创征文|技术成长之路-Java编程系列之文件OSS存储实践:Amazon S3实现文件上传下载
猿创征文|技术成长之路-Java编程系列文件存储实践:Amazon S3实现文件上传下载,总结坑点,积累成长经验