隨着各類各樣的編程語言鋪地蓋地向咱們涌來,軟件世界彷佛變得有點瘋狂了。JVM的帝國在不斷地壯大,它已經不知足於只做爲Java語言的運行平臺。它勇敢地將本身的觸角伸向了JRuby,Groovy等等,將來會對更多的動態語言提供支持。這裏我爲你們亮劍JVM的9款編程語言殺手,分別包括 Groovy、JRudy、Jython、Clojure、Clojure、Kotlin、Rhino、Ceylon。html
|
一、Groovy程序員
Groovy是一門基於Java虛擬機的面向對象的敏捷動態語言,它憑藉一種精巧、現代的語法,讓Java編程員可使用彷佛變化多端的龐大庫和底層穩若磐石的虛擬機。在開發Web,GUI,數據庫或控制檯程序時 經過減小框架性代碼 大大提升了開發者的效率。因爲Groovy在語法上與Java很類似,爲Java開發者提供了現代最流行的編程語言特性,這使得Java的開發人員學習 Groovy會比較容易上手。Groovy的編譯器爲單純的Java語法提供了很好的支持,Java開發人員不須要學習新語法就能夠直接適應 Groovy。數據庫
|
Groovy編程
二、JRudy安全
JRuby是一個Ruby語言的Java端口,與Groovy相比, JRuby是一個純Java實現的Ruby解釋器。經過JRuby,用戶能夠開發在JVM上直接運行的Ruby程序,調用Java的類庫。它結合了 Ruby語言的簡易性和功能強大的JVM的執行機制,包括與Java庫 全面集成。Rails完全加快及簡化了Web應用的開發,不過它讓人以爲不夠成熟,特別是在高端企業級功能方面。另外一方面,Java平臺及其虛擬機、庫和 應用服務器的速度、穩定性和功能方面卻一直在提高,如今已被公認爲是開發高端服務器應用的領先平臺。不過若是Java平臺不與Ruby等新興語言聯繫在一 起,就有可能落後於流行趨勢。服務器
|
JRuby數據結構
Jython是一種針對JVM發佈的腳本編程語言之一,它集成了Python的一小部分,提供了對Java字節碼的動態編譯,從而實現了性能上的提升。Jython是一種完整的語言,而不是一個Java翻譯器或僅僅是一個Python編譯器,它是一個Python語言在Java中的徹底實現。 Jython不像CPython或其餘任何高級語言,它提供了對其實現語言的一切存取。因此Jython不只給你提供了Python的庫,同時也提供了全部的Java類。這使其有一個巨大的資源庫。Jython從CPython中繼承了不少優勢,與Java的無縫集成。Jython能使任何部署了Java 應用和框架的公司受益而不須要額外的工做。併發
|
Jython框架
四、Clojure編程語言
做爲當今最主流的運算平臺JVM,把函數式編程語言引入JVM也是不少人嘗試的方向,Clojure就是其中之一。Clojure是一種 LISP風格的語言,運行在JVM上。Clojure是一個在JVM平臺運行的動態函數式編程語言,Clojure在JVM平臺運行的時候,會被編譯爲 JVM的字節碼進行運算。Clojure設計的初衷是做爲一種通用的編程語言,它其實關注的重點是微軟的CLR和JavaScript。Clojure能夠直接編譯成Java字節碼,保留動態性,可以直接訪問Java框架。
|
Clojure
五、Scala
在一般狀況下,Scala能夠被理解成一門multiparadigm編程語言,由於它集合了不一樣的編程理念。從內核的角度上看,它是一門面向對象的編程語言,具備強大的功能。與傳統的編程語言相比,它的優點很是明顯,它能夠方便並行開發應用程序。它與JVM的其它編程語言有所不一樣,它集成了並行應用程序框架。這門語言運行起來和本地Java同樣快。
|
Scala
Kotlin是一門動態類型通用的編程語言,能夠編譯成Java字節碼和JavaScript。做爲一個基於 JVM 的新的編程語言,Kotlin可謂是Java的強勢勁敵,JetBrains 宣佈將其 Kotlin 編程語言開源,這是一個針對 Java 和 JavaScript 平臺的現代編程語言,該語言的設計目的是成爲 Java 語言的替代品。它致力於提升重點性能,編譯速度可以與Java相媲美。
|
Kotlin
七、Rhino
Rhino是一個用Java語言編寫的開源JavaScript引擎,它具備JavaScript內核,能夠執行腳本,常常被嵌入到Java應用程序中,爲終端用戶提供腳本。Rhino中的JavaAdapters容許JavaScript嵌入任何一種Java接口,還能夠擴展Java類。
|
Rhino
Rhino則是一個介於Java與JavaScript之間的語言。它的基礎是 Java 語言,這使得它簡單易學,但相比於JavaScript腳本語言來講,它又太過複雜。不過,Rhino 的主要缺點也正是它的強大之處,Rhino 是一種輕量級的、功能強大的腳本語言。Rhino 使用原型而不是類,這使它比不少腳本語言更適合開發 GUI 應用程序,在考慮性能和風格等因素時更是如此。
八、Ceylon
Ceylon是一個通用的、命令式的、面向對象的靜態類型的編程語言。它深受Java的影響,主要用於大型項目的團隊開發 Red Hat的Ceylon彷佛是一些語言功能的一個頗有意思的組合,它使用了你們熟知的C風格的語法,可是除了強調簡潔以外,還提供了面向對象和一些頗有用的 函數方面的支持。Ceylon不只僅是一款編譯器,它有更遠大的目標,經過建立新的Ceylon SDK來取代Java SDK。
|
Ceylon
Fantom 前身是 (Fan) 是一個基於 Java 和 .NET 平臺的編程腳本引擎,用來在運行時產生 JVM 和 .NET 平臺的字節碼,該語言是面向對象的,跟 Groovy 和 JRuby 有點相似,可經過特定的接口來集成 Java 的類庫。Fantom經過本身的擴展庫彌補了不足,同時還包括了一些對併發性的內置支持。
|