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

jopen 10年前發布 | 23K 次閱讀 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)編譯器生成本地代碼,有官方的工具支持

來自:在JVM上使用非Java語言的原因

英文原文鏈接

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!