發(fā)布于:2021-02-03 13:55:20
0
332
0
JAXenter:Groovy語言的新擴展Groovy++,是當前業(yè)界的熱門話題。但是到底什么是Groovy++?
Dierk?nig:Groovy++是Groovy的一個擴展,它使Groovy代碼的速度與原生Java相當。此外,您還可以使用靜態(tài)類型檢查和類型推斷,從而獲得編譯時安全的好處,但不會產(chǎn)生噪音。要使用語言擴展,您只需要在類路徑中添加一個jar文件。然后可以用@Typed注釋所需的代碼部分(例如類)。其余的自動發(fā)生。這種方法利用了Groovy通過AST轉(zhuǎn)換鉤住編譯步驟的能力。名稱“Groovy++”表明它仍然是Groovy,因此包含了語言語法的全部美,同時超過了標準特性。有趣的是,使用Groovy++可以混合使用“靜態(tài)”和“動態(tài)”功能,這樣即使在帶注釋的類中,也可以使用Groovy生成器之類的動態(tài)組件。然而,這是以損失一些元編程技巧為代價的。
JAXenter:誰真正支持Groovy++?
Dierk?nig:該方法由Alex Tkachman創(chuàng)建,他以前是JetBrains的創(chuàng)始人,Java/Groovy交叉編譯器的創(chuàng)建者,G2One的聯(lián)合創(chuàng)始人和Groovy核心提交者。最近有更多的Groovy核心提交者加入。
JAXenter:為什么Groovy需要擴展?
Dierk?nig:Groovy是Java的擴展,而不是替代品。我們一直確保人們可以在兩種語言之間無縫切換。在優(yōu)化性能時,Groovy項目通常將關(guān)鍵部分(通常只有幾個類)轉(zhuǎn)移到Java。這仍然是可能的。但對于許多程序員來說,這還不夠好。他們甚至想用Groovy的簡單性來實現(xiàn)這些部分?,F(xiàn)在這是可能的。
JAXenter:在JAX 2010,您將與Markus V?lter一起主持Java語言日。您是否也打算談?wù)揋roovy++?在那些日子里,與會者還能期待什么呢?
Dierk?nig:我計劃在“Groovy stars in the Asyment”上討論Groovy++,這當然是Groovy PowerWorkshop和演講者小組討論的問題。與會者還將看到Groovy++與Groovy中并發(fā)編程的有趣結(jié)合。在這里,我們正在進入一個新的領(lǐng)域,因為并行性和高性能應(yīng)用程序的概念最終可以用一種易于理解的語言實現(xiàn)。我想提到的是,目前Groovy++仍處于實驗階段,遠未完成。未來在你掌握之中!