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


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

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


JVM越來越被當作一個具有豐富類庫支撐的通用平台,而不僅僅是Java語言的運行平台。在未來,會越來越多的看到,應用JVM而不使用Java的情況,一開始可能是JRuby,Groovy等等,當未來支持更多的動態語言必將是下一步的趨勢。

1、Groovy

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

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

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款編程語言殺手開發利器

JRuby


3、Jython

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

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

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款編程語言殺手開發利器

Clojure


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

5、Scala

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

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

Scala


6、Kotlin

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

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

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款編程語言殺手開發利器

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款編程語言殺手開發利器

Ceylon


9、Fantom

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

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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM