讀古今文學網 > Java程序員修煉之道 > 第三部分 JVM上的多語言編程 >

第三部分 JVM上的多語言編程

這一部分專門探索JVM上的新語言範式和多語言編程。

JVM是一個迷人的運行時環境:它提供的不僅是性能和能力,還賦予了程序員驚人的靈活性。實際上,JVM是探索Java之外的語言的關口, 並且會讓你嘗試一些不同的編程方式。

如果你只用Java寫過程序,可能想知道學習其他語言會有什麼好處。就像我們在第1章說的,成為優秀Java開發人員的本質就是對Java語言、平台和生態系統的方方面面掌握得越來越全面。這包括能夠欣賞那些目前剛剛起步,但不久的將來就會變得不可或缺的主題。

未來已經發生,只是分佈尚不均勻。

——威廉·吉布森

事實證明,很多未來需要的新想法已經出現在函數式編程等其他JVM語言中了。學習新JVM語言的過程中,我們可以一瞥另一個世界,我們未來的某些項目很可能就跟它很像。從不同的視角探索問題能幫我們重新審視已有的知識。學習新語言可以開啟新的可能性,我們可能會發現自己不知道的新天賦,掌握新技能,而這些東西總有一天會派上用場。

第7章會解釋一下為什麼Java不是解決所有問題的理想語言、為什麼函數式編程概念有用,以及如何為特定項目選擇一種非Java語言。

最近,很多書和博客裡都提出一種觀點,認為函數式編程很快就會成為每個開發人員職業生涯中的重要角色。很多文章都把函數式編程描述得令人生畏,卻常常講不清楚函數式編程怎麼在Java這樣的語言中「發光發熱」。

實際上,函數式編程根本算不上一個整體結構。相反,它更像一種風格,開發人員思考方式上的一個過渡。第8章會給出一個用Groovy語言編寫的、稍微帶點兒函數式編程味道的例子,就是用一種更清晰的、不太容易出bug的風格來處理集合的代碼。在第9章,我們會用Scala語言討論「對像-函數式」風格。第10章會用Clojure語言看一下純粹的函數式編程(它甚至超過了面向對像)方式。

在第四部分,我們會介紹幾個真實案例,針對這些案例,其他語言能夠給出更好的解決方案。如果你不信,可以提前看一下第四部分,然後再回來學習應用那些技術所需的語言。