推薦JVM的9款編程語言殺手開發利器

fmms 12年前發布 | 39K 次閱讀 JVM

隨著各種各樣的編程語言鋪地蓋地向我們涌來,軟件世界似乎變得有點瘋狂了。JVM的帝國在不斷地壯大,它已經不滿足于只作為Java語言的運行平臺。它勇敢地將自己的觸角伸向了JRuby,Groovy等等,未來會對更多的動態語言提供支持。這里我為大家亮劍JVM的9款編程語言殺手,分別包括 Groovy、JRudy、Jython、Clojure、Clojure、Kotlin、Rhino、Ceylon。

推薦JVM的9款編程語言殺手開發利器
</div> </td> </tr> </tbody> </table> </div>
JVM越來越被當作一個具有豐富類庫支撐的通用平臺,而不僅僅是Java語言的運行平臺。在未來,會越來越多的看到,應用JVM而不使用Java的情況,一開始可能是JRuby,Groovy等等,當未來支持更多的動態語言必將是下一步的趨勢。

1、Groovy

Groovy是一門基于Java虛擬機的面向對象的敏捷動態語言,它憑借一種精巧、現代的語法,讓Java編程員可以使用似乎變化無窮的龐大庫和底層穩若 磐石的虛擬機。在開發Web,GUI,數據庫或控制臺程序時 通過減少框架性代碼 大大提高了開發者的效率。由于Groovy在語法上與Java很相似,為Java開發者提供了現代最流行的編程語言特性,這使得Java的開發人員學習 Groovy會比較容易上手。Groovy的編譯器為單純的Java語法提供了很好的支持,Java開發人員不需要學習新語法就可以直接適應 Groovy。

  • 推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Groovy


    Groovy使用到了類型推斷,在開發者沒有明確信息的時候,可以推斷出變量的類型,因此在代碼編程上要相對簡單。Groovy無縫集成了所有已經存在的 Java對象和類庫,還提供了高級別的開發框架來處理一些標準的任務,比如字符串的處理、生成XML文件、單元測試等等,所有這些都可以為開發人員節省時 間。

    2、JRudy

    JRuby是一個Ruby語言的Java端口,與Groovy相比, JRuby是一個純Java實現的Ruby解釋器。通過JRuby,用戶可以開發在JVM上直接運行的Ruby程序,調用Java的類庫。它結合了 Ruby語言的簡易性和功能強大的JVM的執行機制,包括與Java庫 全面集成。Rails徹底加快及簡化了Web應用的開發,不過它讓人覺得不夠成熟,特別是在高端企業級功能方面。另一方面,Java平臺及其虛擬機、庫和 應用服務器的速度、穩定性和功能方面卻一直在提升,現在已被公認為是開發高端服務器應用的領先平臺。不過如果Java平臺不與Ruby等新興語言聯系在一 起,就有可能落后于流行趨勢。

  • 推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    JRuby


    3、Jython

    Jython是一種針對JVM發布的腳本編程語言之一,它集成了Python的一小部分,提供了對Java字節碼的動態編譯,從而實現了性能上的提高。 Jython是一種完整的語言,而不是一個Java翻譯器或僅僅是一個Python編譯器,它是一個Python語言在Java中的完全實現。 Jython不像CPython或其他任何高級語言,它提供了對其實現語言的一切存取。所以Jython不僅給你提供了Python的庫,同時也提供了所 有的Java類。這使其有一個巨大的資源庫。Jython從CPython中繼承了很多優點,與Java的無縫集成。Jython能使任何部署了Java 應用和框架的公司受益而不需要額外的工作。

    推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Jython


    Jython沒有提供Java中的public、private 和protected存取符,這樣就給程序員提供了快速開發所需要的靈活性,并將注意力集中在程序邏輯上。Jython不用明顯的靜態的類型定義,故程序員不需要從程序邏輯轉移到類型定義上來。

    4、Clojure

    作為當今最主流的運算平臺JVM,把函數式編程語言引入JVM也是很多人嘗試的方向,Clojure就是其中之一。Clojure是一種 LISP風格的語言,運行在JVM上。 Clojure是一個在JVM平臺運行的動態函數式編程語言,Clojure在JVM平臺運行的時候,會被編譯為 JVM的字節碼進行運算。Clojure設計的初衷是作為一種通用的編程語言,它其實關注的重點是微軟的CLR和JavaScript。Clojure可 以直接編譯成Java字節碼,保留動態性,能夠直接訪問Java框架。

    推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Clojure


    Clojure的一大特色就是其并發機制,它支持不可變的數據結構(Clojure是來自于可持久化的數據結構)。Clojure還有一個特色是軟件事務 存儲(Software Transactional Memory,STM),其支持用事務代替鎖和互斥器來更新共享內存。STM還是一個有爭議的技術,還需要更好的證明自己,一個簡單的辦法就是訪問一個 JVM上的實現。

    5、Scala

    在通常情況下,Scala可以被理解成一門multiparadigm編程語言,因為它集合了不同的編程理念。從內核的角度上看,它是一門面向對象的編程 語言,具有強大的功能。與傳統的編程語言相比,它的優勢非常明顯,它可以方便并行開發應用程序。它與JVM的其它編程語言有所不同,它集成了并行應用程序 框架。這門語言運行起來和本地Java一樣快。

    推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Scala


    6、Kotlin

    Kotlin是一門動態類型通用的編程語言,可以編譯成Java字節碼和JavaScript。作為一個基于 JVM 的新的編程語言,Kotlin可謂是Java的強勢勁敵,JetBrains 宣布將其 Kotlin 編程語言開源,這是一個針對 Java 和 JavaScript 平臺的現代編程語言,該語言的設計目的是成為 Java 語言的替代品。它致力于提高重點性能,編譯速度能夠與Java相媲美。

  • 推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Kotlin


    Kotlin兼容Java語言,比Java更安全,能夠靜態檢測常見的陷阱,比如引用空指針。Kotlin比Java更簡潔,通過支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實現。此外,它比最成熟的競爭對手Scala語言更加簡單。

    7、Rhino

    Rhino是一個用Java語言編寫的開源JavaScript引擎,它具有JavaScript內核,可以執行腳本,經常被嵌入到Java應用程序中, 為終端用戶提供腳本。Rhino中的JavaAdapters允許JavaScript嵌入任何一種Java接口,還可以擴展Java類。

    推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Rhino


    Java是一種面對對象的編譯型語言。它首先將源代碼編譯成二進制字節碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執行字節碼,從而實 現了“一次編譯、到處執行”的跨平臺特性。而 JavaScript是一種動態、弱類型、基于原型的客戶端腳本語言。JavaScript 包括一個基于對象的 API,稱為文檔對象模型(Document Object Model)或 DOM,用以訪問和操作 Web 頁面的內容,給HTML網頁添加動態功能。

    Rhino則是一個介于Java與JavaScript之間的語言。它的基礎是 Java 語言,這使得它簡單易學,但相比于JavaScript腳本語言來說,它又太過復雜。不過,Rhino 的主要缺點也正是它的強大之處,Rhino 是一種輕量級的、功能強大的腳本語言。Rhino 使用原型而不是類,這使它比很多腳本語言更適合開發 GUI 應用程序,在考慮性能和風格等因素時更是如此。

    8、Ceylon

    Ceylon是一個通用的、命令式的、面向對象的靜態類型的編程語言。它深受Java的影響,主要用于大型項目的團隊開發 Red Hat的Ceylon似乎是一些語言功能的一個很有意思的組合,它使用了大家熟知的C風格的語法,但是除了強調簡潔之外,還提供了面向對象和一些很有用的 函數方面的支持。Ceylon不僅僅是一款編譯器,它有更遠大的目標,通過創建新的Ceylon SDK來取代Java SDK。

  • 推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>

    Ceylon


    9、Fantom

    Fantom 前身是 (Fan) 是一個基于 Java 和 .NET 平臺的編程腳本引擎,用來在運行時產生 JVM 和 .NET 平臺的字節碼,該語言是面向對象的,跟 Groovy 和 JRuby 有點類似,可通過特定的接口來集成 Java 的類庫。Fantom通過自己的擴展庫彌補了不足,同時還包括了一些對并發性的內置支持。

    推薦JVM的9款編程語言殺手開發利器
    </div> </td> </tr> </tbody> </table> </div>
    總而言之,這9款適用于JVM平臺上的編程語言都非常強勁,類似于武林高手之間的一場華山論劍。當然,每一款編程語言都各有所長,只有當開發者運用靈活自如了,開發的修煉境界才能爐火純青。原文地址: http://cnobs.com/html/content/2012031912419.shtml

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