色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

groovy語言主要是用來干什么

錢艷冰2年前21瀏覽0評論

groovy語言主要是用來干什么?

Groovy在十幾年前是最早進入我視野,并開始實際應(yīng)用的,甚至比scala還早。因為大家發(fā)現(xiàn)java過于死板,需要一種動態(tài)特性更好,更靈活的語言來編寫很多腳本。 我最早看到的是用Groovy編寫測試腳本,不管是功能測試還是壓力測試都很方便。后來ruby on rails大行其道, 但那一套照搬到j(luò)ava上比較困難,于是就做在了groovy上,就有了grails。也就是題主感覺為什么開發(fā)速度特別快的原因,rails的思想結(jié)合spring boot用來開發(fā)web服務(wù)還是很贊的

現(xiàn)在Groovy也是功能齊備了,但八九年前,抱怨還是挺多的,覺得太簡陋了。于是業(yè)界(主要是java程序員)發(fā)現(xiàn)jvm里還有scala可以用。scala歷史也是非常悠久,但一開始比較學院派,后來才慢慢體現(xiàn)出非常好的工程性。當時基于actor模式,用scala搞出了akka。最開始大家主要是想用scala來解決多線程的難題。這方面scala干的不錯,先后涌現(xiàn)了不少web和rpc框架,比如后來的play framework和finagle都是一時之選,現(xiàn)在也還十分活躍。而且scala提供了極為豐富的語言特性,也讓很多java程序員欲罷不能。現(xiàn)在scala在后端還不錯,不過也有Linkedin這樣的公司決定停止繼續(xù)玩Scala,轉(zhuǎn)回java 8的懷抱。

但凡事都是把雙刃劍,很多人發(fā)現(xiàn)scala好是好,就是實在太復(fù)雜了,實際項目中收到了很多抱怨。于是大家發(fā)現(xiàn)還有Clojure。Clojure脫胎于lisp, 是更純粹的函數(shù)是語言,scala其實是個OO和FP的大雜燴。使用Clojure這種純FP的特性,開發(fā)多線程大并發(fā)的應(yīng)用是很有利的, 表達力也非常強。但是這似乎又與我們習慣的java編程方式相差太遠了,我雖然是純fp的粉,但純fp還是有點小眾。于是這個語言一直有點叫好不叫座,所以在jvm上一直沒到達取代scala的程度。clojure野心也挺大的,先后也搞了非JVM的版本,比如說到.net CRL,到瀏覽器(編譯成js)等等。后來能編譯成js的clojureScript的確讓人眼前一亮,大家有興趣的可以看看google clojure。

這時候kotlin來了,它沒有scala那么復(fù)雜,也沒有clojure那么純粹。而且它有個非常好的契機,就是google在安卓上的java遇到些麻煩,他們迫切需要一種新的語言,于是google幾乎是第一時間給kotlin在安卓上提供了非常好的支持,幾乎是第一天就當親兒子來養(yǎng)。kotlin至少在安卓開發(fā)上,是抱著取代java的愿景的, 而且我觀察kotlin的確更關(guān)注和強調(diào)客戶端開發(fā),但別忘了,這貨能在jvm上運行啊,所以它對服務(wù)器端的開發(fā)能力幾乎是天生的,Spring 5.0和vert.x都是支持kotlin的。另外,kotlin也是可以非常好運行于多平臺的(oracle jvm, 安卓,瀏覽器等等)上的, 其實前面幾個語言基本也都能,只是有些官方支持沒那么好。