在基于JVM的语言中是否有明确的领导者?[关闭]


9

这些项目的当前状态如何,有一个(或两个)以明确的领导者身份出现吗?

为了证明我提出这个问题的动机,请回想几年。原型和jQuery与MooTools等其他竞争者并肩生存。快速发展到今天,人们普遍认为jQuery是最好的通用JavaScript库。

在过去的几年中,这些基于JVM的语言发生了类似的事情吗?某些语言是否陷入失修和遗弃?从我阅读的内容来看,Scala似乎已经做好了成为备受喜爱的准备,但是话又说回来,我所阅读的几乎所有内容都已经有好几年了。


我做了更多的研究-我的想法是通过使用Google趋势来查看多年来的搜索量。似乎Jython和JRuby的兴趣相对较小,而Groovy的音量在减小,而Scala的音量是恒定的(在最坏的情况下)或在微小的(最好)在增加。这是准确的评估吗?


是的,我指的是JVM上的非Java语言,例如Jython,JRuby,Groovy,Scala,Clojure等。


8
要记住的重要一点是,JRuby用户经常在对与语法,习语,示例等相关的内容感到疑惑时经常会搜索Ruby。因此,比较标记或趋势非常困难,因为Scala和Groovy指的是语言实现,而JRuby只是指实现。
Deckard

10
定义“领导者” :)从“使用次数”的纯粹意义上讲,Java本身是明确的领导者
Heiko Rupp

4
我希望它仍然是Java :)

4
实际上,Java是JVM的明显领导者。
Chiron

4
@jprete:rinogo确实列出了语言,但Mark Trapp删除了它们并更改了问题。
乔纳斯(Jonas)

Answers:


12

没有

在寻找更好的JVM语言的竞赛中(如果有的话),没有人宣称他们是“赢家”。

检查可用的工作(在careers.stackoverflow.com上),作为具有这些技能的人的市场指标。

1个常规工作。
4个scala职位。
21个C#职位。
22 红宝石工作。
29个python作业。
34个php职位。
39个Java职位。
对于JRuby,Jython或Grails为0。

在2011年4月23日搜索,使用邮政编码10001和150英里范围


看看如何通过起薪(或什至其薪水范围)对它们进行加权会很有趣。但是话又说回来,这将使您直接进入主题外的领域。
GregC 2011年

3
Clojure怎么样?
替代

2
职业是否具有可以作为合理样本的市场渗透率?一口气列出了549个职位(听起来像是总人数?)。
史蒂文·埃弗斯

1
@SnOrfus:也许不是,这是我继续进行的第一个搜索,因为根据我的经验,所有工作都是相对高质量的,并且带有适当的标签和重点明确定义。我将在其他几个站点上重新运行这些结果。
乔什K

@Josh K.这是一个合理的决定。+1。
史蒂文·埃弗斯

7

一年前,对Stack Overflow社区规模进行了评估,Scala领先,Groovy和Clojure非常接近。您可以使用免费提供的转储来进行类似的查询。

无论如何,我在JVM领域根本看不到任何明显的赢家。首先,有很多人喜欢动态语言,并且不会与Scala一起使用。然后是静态人群,而Groovy等动态语言则不会。

但是与那里的任何一种主流语言相比,他们都有很小的追随者。他们缺乏确保长期成功的关键能力,这将是真正赢家的标志。


1
+1为有用的链接-但我要补充一点,关于JVM语言的要点是,它们不需要像完全独立的语言生态系统那样需要大量内存-因为它们可以利用所有Java库和工具。我认为,因此,Clojure,Scala,JRuby和Groovy都已经远远超出了临界质量。
mikera 2011年

3

最相关的问题是如何鼓励您的组织从Java迁移到Scala?

Scala提供了不同的编程范例和语法,而Groovy为Java开发人员提供了较低的学习曲线。两者都有自己的位置。

社区的相关评论:https : //stackoverflow.com/questions/3644251/what-are-your-experiences-developing-in-scala-lift/3646365#3646365

从积极的评论来看,我会说Scala是一个不错的选择。

我还认为不会引起太多问题的直观工具是一个积极的指标,因此Stack Overflow上的问题数量并不是一个很好的指标。


3
感觉没有答案。您有事实和参考吗?

2
马克是一位很棒的主持人!
GregC 2011年

谢谢,但是现在您的答案没有解决问题。问题是在寻找有关项目状态的特定信息,而不是您对何时使用另一个的想法。您最初的表述回答了这个问题,它只需要参考就可以支持它。

@Mark Trapp:非常欢迎您的努力。我必须更多地关注这种物质。
GregC 2011年

3

这个问题基于完全错误的假设,即JVM语言是彼此替代的。您正在模仿JS工具箱,它们全部使用相同的语言,都有相同的受众,都有相同的用途。对于JVM语言,所有语言唯一的共同之处是它们是使用JVM实现的。除此之外,它还具有尽可能广泛的语言:静态,动态,功能,目标...

例如,假设Jython是Scala或JRuby的替代品是错误的。它是CPython,IronPython或PyPy的替代品。

至于当前投票最多的答案,它还错误地假设职位描述将讨论实施细节。实际上,即使公司使用Jython或JRuby,职位描述仍然需要Python或Ruby经验。Jython符合语言规范,因此Jython是Python,与JRuby类似的是Ruby


+1。很好的一点。没有“基于JVM的语言”这样的东西。Java本身可以编译为JavaScript(GWT)或本机二进制文件(GCJ)。相反,JavaScript可以在JVM(rhino)上运行,即使未在候选列表中列出。编程语言的全部重点是对程序的执行方式进行可管理的抽象。
back2dos 2012年

0

目前尚无明确的领导者-Scala,Clojure和Groovy目前看来都很强大(2012年中期)。

一些调查数据:

不过,这很难衡量-我认为TIOBE之类的职位发布和索引对于新语言的采用基本上是无用的,因为它们主要取决于非常落后的指标(您的尖尖上司的平均水平至少要聘请Clojure开发人员才能使用)在您当前的Clojure黑客构建了一款了不起的惊人产品之后的几年,您终于决定需要壮大团队)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.