Groovy搭幻,Clojure和Kotlin都是基于jvm的語言,那他們在實際項目中的運用場景有什么區(qū)別逞盆? - RednaxelaFX 的回答 - 知乎
https://www.zhihu.com/question/29818569/answer/45729205
簡單說檀蹋,在JVM上不想用Java,喜歡某種別的平臺上已有的語言但想要更Java化的版本的話:
喜歡Ruby => 用Groovy
喜歡LISP云芦,喜歡STM功能 => 用Clojure
喜歡C++ => 用Kotlin
Scala的話看評論↓
Groovy比較討好來自Java的程序員的一點是:用它寫代碼可以漸進的從接近Java的風格進化為接近Ruby的風格俯逾。使用接近Java風格寫Groovy時,代碼幾乎跟Java一樣舅逸,容易上手桌肴;而學習過程中可以逐漸用上各種類似Ruby的方便功能。
//
Scala自成一派琉历,沒直接對應的原型語言坠七。它比帶面向對象功能的函數(shù)式語言更面向對象(例如OCaml),比帶函數(shù)式風格功能的面向對象語言更函數(shù)式(例如C#旗笔、Java 8)彪置。
//koltin和cpp有什么相同點嗎
有很多。一個詞概括就是“復雜”蝇恶。它的設計在逐步變得合理拳魁,但并非一開始就是這樣的。
例如說Kotlin的類的繼承設計艘包。一開始Kotlin設計的類繼承是允許像C++那樣的受限很少的多重繼承的猛。我正好參加了2011N年的JVMLS,而Kotlin的兩位設計者在那個會議上介紹Kotlin的設計特性時被大家狂吐槽想虎,其中最重點吐槽的就是這個多重繼承的設計。設計者一邊在說C++的設計不好叛拷,一邊描述的Kotlin的設計其實就跟C++的一樣…
現(xiàn)在的Kotlin改為很受限的基于trait的多繼承設計舌厨,這就好多了。
其它許多特性也是從大雜燴狀態(tài)開始的…就跟C++的狀況類似忿薇。
//
還有python裙椭,groovy號稱是jvm上的python
Scala躏哩、Groovy、Clojure 揉燃、Kotlin 分別解決了Java 的什么痛點扫尺? - Aaron 的回答 - 知乎
https://www.zhihu.com/question/48633827/answer/118542587
scala有兩種風格,一種是“the better java”炊汤,也就是保持java大體風格正驻,但是靈活運用語法糖來簡化代碼。這個角度就是解決了java冗長的特點抢腐。
還有一種就是函數(shù)式為主了姑曙, pattern matching,閉包迈倍,高階函數(shù)等伤靠。這個角度就是對java的擴充,讓函數(shù)式進入jvm啼染。后來java8也支持函數(shù)式不過還是scala實現(xiàn)的更早宴合。
groovy是動態(tài)類型腳本語言,可以直接當做腳本跑迹鹅。語言也比較靈活卦洽,所以常常拿來當配置文件用,比如gradle徒欣,或者連接數(shù)據(jù)庫參數(shù)之類逐样。
clojure就是jvm上的lisp方言,除了它是lisp之外好像也沒解決什么痛處打肝,所以一直想不通為何有人拿他做工程脂新。。粗梭。