前言
這是我之前在知乎上的一些回答的匯總,感覺還是博客園寫這些東西方便一點,也算是理下我的一些思路,現(xiàn)將文章整理后,發(fā)布在園子里。
為何是kotlin:
很多人對kt沒有一個正確的定位,可能大家第一反應(yīng)是拿它去和scala,groovy比較.
從語法的角度而言,kotlin豐富且嚴(yán)謹(jǐn)?shù)角〉胶锰幍恼Z法糖,表達(dá)能力強(qiáng)但不啰嗦,極少的代碼冗余。
但老實講能做到這些的語言也不算少,單看語法,事實上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同樣能用。
kotlin的一些典型特征:
靜態(tài)強(qiáng)類型
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26