前言
這是我之前在知乎上的一些回答的匯總,感覺還是博客園寫這些東西方便一點,也算是理下我的一些思路,現(xiàn)將文章整理后,發(fā)布在園子里。
為何是kotlin:
很多人對kt沒有一個正確的定位,可能大家第一反應是拿它去和scala,groovy比較.
從語法的角度而言,kotlin豐富且嚴謹?shù)角〉胶锰幍恼Z法糖,表達能力強但不啰嗦,極少的代碼冗余。
但老實講能做到這些的語言也不算少,單看語法,事實上kt比scala還是要略差一籌的,
他們都是非常優(yōu)秀的jvm語言,總體來說是難分伯仲,kt也沒辦法將他們甩出一個身位.
但我必須得說,絕大部分情況下(指常規(guī)開發(fā)),如果你選擇kt作為你的第二jvm語言,比用scala,groovy等,
開發(fā)工程中的收益要多的多的多...成本亦低的多的多的多(注意我不是單單在說語言層面了)
首先,最重要也是讓kotlin與其他jvm語言有本質(zhì)不同的地方在于:無縫和java程序的銜接以及極低的交互成本。
老項目想嘗新?在maven或gradle里面加個配置,就能開寫kotlin了.
不敢直接用?先用來寫UT啊,UT寫順了,你自然會忍不住想繼續(xù)寫。
已有java代碼怎么辦?直接用啊,封裝都不用,兩者可以直接調(diào)用,智能提示也都在,反過來kotlin寫的庫java同樣能用。