在以前的一封邮件中,我指出在众多改变中,最明显的一个就是:在java领地上的JVM上使用其他流行的语言的发展变得越来越快。一些老的和新的创建的基于JVM的语言---JRuby 和 Jython ,Java风格的语言---Groovy 和Scala 和brand ,新语言---Clojure 和 Kotlin,这些语言为我们提供了选择------得到JVM的性能和可靠性却可以使用一种不同的语法。
在一个理想的世界里所有的开发者都可以自己选择的自己的语言。现实情况是,作为开发者,我们被适合(我们的)语言和支持这个工具的公司实际上使用什么语言所约束。首先,你选择的适合你的领域的语言---能让你的工作快速容易,更重要的是对于你们的非功能化需求例如:性能可以变得快速容易。其次,没人愿意成为使用简单的编辑器来处理编码过程-苦力(码农)。是的,我知道,我们都可以使用Vim和Emacs或者流行的IDE比如IntelliJ或Eclipse等,来容易和迅速地完成大片代码的重构(你好TDD!)。第三,现实的情况是,在我们的位置上(职位上)很少能指导(决定)我们的雇主选择什么语言。学习一种不断上升人气的语言意味着你在未来有更多的就业机会,可是雇主却决定着语言的选择权。
事实上,许多公司夸耀他们使用最新的语言,因为它使他们更具吸引力来招聘他人。你几乎不能不关注微博和推特上的人们在大喊大叫“我们的公司已经被新的语言改变了开发流程”可是这个场面是真的么?
在Indeed.com上有一个有用的业界认可的我们可以继续工作的趋势图。在Tiobe爷爷辈的语言图中,可是在下面两点上却没有用。a)
它没有提供足够的信息 b)它是简单的游戏。—是的我们知道是Delphi干的(yes
Delphi dudes)。现在,在你抱怨之前,我知道使用这样的(处理方式)从完美和科学的角度是远远不够的还有很长一段路要走。但除非你想做一个纵向研究,询问所有的公司,他们使用的是什么?相信他们的答案都是真实的而不是营销的上的噱头,来说明它可能是足够好来解释(语言的流行)
那么,这能告诉我们关于行业如何看JVM的主要语言:Java,Groovy,Scala,Clojure,Jython和JRuby *。当我们一览(关注)所有在工作中涉及到的语言所占比例的时候会发生什么呢?
嗯,好……很明显,在业界尽管关于其他语言有的喧嚣之声不绝,Java仍然是大量存在,在就业市场上几乎占有3.5%的工作都对Java的知识有要求。我们都知道,Java是一个行业重量级的,但有点吃惊,相比其他语言是一个难以分辨的线。总计都近0线,他们就需要一些大量的,指数性增长才能开始威胁到Java。
当你拿走Java会发生什么情况
这是一个有趣的多。首先,Jython是比其他Java真的接受了JVM上的第一语言。Groovy开始回升2007,很快成为替代语言第一,毫无疑问,而由Grails,Clojure和JRuby从来没有得到太多的支持。尽管在过去18个月左右开始的上升。我觉得最有趣的一点是,在Scala的接受最近有所增加。目前排Jython后排第三,梯度表明,它将很快进入第二。把Scala和Groovy置于一个相对应的基准,来比较他们的增长速率,我们就会看到如下。
于是我们可以看到,Scala终于超越了Groovy的增长率。于是我们可以说,当你想温习一下旧的Groovy课本或许看了一眼Scala, 但你能做的最好的事情就是保持你的Java水平(在这些语言中)顶层的位置。业内人士关心的是Java是JVM语言的老大什么时候到头呢?不过看起来是在路上(被取代的路上)。