在JVM上使用非Java语言的原因_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 在JVM上使用非Java语言的原因

在JVM上使用非Java语言的原因

 2014/5/22 12:57:44  deepinmind  程序员俱乐部  我要评论(0)
  • 摘要:在最近完成的一次Java.net的投票中,有超过75%的开发人员认为使用非Java语言是有一定的原因的。有19%(有点吃惊)的开发人员认为,在JVM上完全没有必要使用非Java语言进行开发。总共有181个人进行了投票,有一人进行了评论。下面是投票的内容及结果:在JVM上使用非Java语言最重要的原因:23%(42票)——更先进的语法6%(11票)——更好的性能38%(69票)——一些非Java语言更适合某些类型的编程任务8%(15票)——不太懂Java,不过了解移植到JVM的那门语言19%
  • 标签:使用 Java 原因 JVM

在最近完成的一次Java.net的投票中,有超过75%的开发人员认为使用非Java语言是有一定的原因的。有19%(有点吃惊)的开发人员认为,在JVM上完全没有必要使用非Java语言进行开发。总共有181个人进行了投票,有一人进行了评论。下面是投票的内容及结果:

在JVM上使用非Java语言最重要的原因:
  • 23%(42票)——更先进的语法
  • 6%(11票)——更好的性能
  • 38%(69票)——一些非Java语言更适合某些类型的编程任务
  • 8%(15票)——不太懂Java,不过了解移植到JVM的那门语言
  • 19%(34票)——没理由使用非Java语言
  • 6%(10票)——其它

  • 做出这份调查问卷花费了我不少心思,我发现调查的结果非常有意思(尽管这不是一疹专业的调查)。我在猜测人们选择某个选项的时候究竟是怎么想的。“一些非Java语言更适合某些类型的编程任务”这个赢得了大多数的投票,我认为这是合理的。各种非Java的JVM语言已经被广泛使用,并且仍在不停地增长中。

    我认为,"更先进的语法"当然也是一个非常合理的选择。Java 7和Java 8中语言的一些改进本质上就是想引入其它语言的一些特性(包括一些很受欢迎的非JVM语言)。更新的那些JVM语言,它们不需要向下兼容,也没有历史遗留代码的负担,可以在开始设计的时候就考虑使用一些现代的语法,也可以针对某些特定类型的编程任务而专门设计语法。这又回到了“一些非Java语言更适合某些类型的编程任务”这点上了。

    我把“更好的性能”这个选项放到问卷中很大一部分原因是出于好奇。提起性能的时候,大家并不认为Java是很笨重的,如果你清楚你要做的是什么,你可以通过对Java进行性能调优,从而获得不可思议的处理速度,或者难以置信的响应延迟,又或者是意想不到的处理大数据的能。和,等等。我在想,或者有些语言在原生状态就已经针对高性能的特点对JVM进行了调优,我希望那6%的投了“更好的性能”的那帮人也是这么想的。。

    我很高兴看到只有8%的人使用非Java的JVM语言是因为"不太懂Java,不过了解移植到JVM的那门语言"。我能想到有人在必要的时候会选择使用非Java的JVM语言,因为他们确定很快就不会再使用JVM了。如果你计划长期作为一名职业的软件工程师,甚至将来进阶成为一名软件架构师的话,由于你不想学Java而成为一名Jython或者JRuby开发人员恐怕不是上策。

    下面是19%的那些人,他们选择了“没理由使用非Java语言”。我把这个选项放到投票里,一个是出于好玩,一个是为了给某些Java粉表表忠心。问题在于,选择这个选项的人都是出于好玩吗?有没有人选择它是因为尝试了其它非Java语言后却不喜欢的呢?有没有人是因为不知道JVM上面除了Java还有别的语言而选择了这项的?我希望选中这个选项都是那些骄傲的Java老兵。

    6%选择了“其它”,网友pjmlp还留下了评论:

    选择其它,是因为我认为有许多原因,不止一个:
  • 现代的语法
  • 类型推导的支持
  • 值类型
  • 物化泛型(reified generics)
  • 对外国语言有更好的FFI支持。
  • 可以通过AOT (Ahead-Of-Time)编译器生成本地代码,有官方的工具支持


  • 原创文章转载请注明出处:http://it.deepinmind.com

    英文原文链接

    发表评论
    用户名: 匿名