自從今年5月,Google Android團隊官宣错邦,Kotlin成為繼C++和Java之后的第三個官方編程語言探赫,Kotlin就呈現(xiàn)了爆發(fā)式的增長,不僅在編程語言的各種榜單中都大幅逆襲撬呢,而且在程序員之間的采用率也直線上升伦吠,有人預(yù)測Kotlin將在未來幾年內(nèi)超越Java。
Kotlin是由JetBrains為JVM魂拦,Android毛仪,JS瀏覽器和本機應(yīng)用程序開發(fā)的靜態(tài)類型編程語言。根據(jù)Realm Report芯勘,從2015年8月起箱靴,Kotlin構(gòu)建的應(yīng)用數(shù)量已經(jīng)增長了125%,目前Kotlin應(yīng)用程序中約有20%的應(yīng)用以前是用Java構(gòu)建的荷愕。
1. 趕時髦最近 Kotlin 的討論衡怀,在我的知乎時間線上成爆發(fā)趨勢,大多數(shù)情況下我并不是一個趕時髦的人安疗,然而 Kotlin 的火熱超出想象抛杨,甚至微信指數(shù)一度超越 Java,好奇心驅(qū)使我一定要嘗試了一下茂契。 在之前多年的職業(yè)生涯中蝶桶,我編寫了大量的 Java 代碼,對 Java 語法的啰嗦是有深刻體會的掉冶,可以說要不是因為大量的項目維持在 Java 平臺真竖,肯定早就切換到其他語言了(比如 Python 現(xiàn)在是我的首選語言)。 對于其他的一些 JVM 語言其實也都拿來在工程上時間過厌小,比如 Scala(鑒于其巨難用的 SBT 果斷放棄恢共,不知道近況如何了),也有一些其他的小眾 JVM 語言璧亚,我在工程上用了之后根本沒有他們說的那種酷炫的效果讨韭,根本就是假的,都是特效。 對于 Kotlin透硝,我抱著試一試的態(tài)度試學(xué)了兩個療程狰闪,經(jīng)過一周左右的熟悉和改造(特意找了一個較為復(fù)雜的舊全文檢索項目進行了改造,代碼量縮減為 1/3)濒生,和大部分人的謹慎態(tài)度不一樣埋泵,我認為 Kotlin 有巨大的潛力全面替代 Java。2. 體驗
代碼的大幅度精簡
100% 兼容 Java 代碼
函數(shù)式編程
各種語法糖
3. 感想如我在開頭所說罪治,我認為 Kotlin 有望成為替代 Java 成為新的工業(yè)語言(當然對于新人來說入門門檻是提高了一些)丽声,目前 Google 宣布 Kotlin 成為Android 一級語言,我相信并非由于部分人說的和 Oracle 的專利之爭觉义,而是實實在在期望全面提升 Android 的開發(fā)效率和語言層面的特性支持(Java 8 才支持 stream 操作雁社,而且語法依然很難看,可見當權(quán)派多么固執(zhí))晒骇。 Google 和 Jetbrains 的深度合作也讓人浮想聯(lián)翩霉撵,下一步收購 Jetbrains,大力推廣 Kotlin 語言也不是不可能(畢竟據(jù)說 Swift 在國外已經(jīng)是主流了厉碟,咱碼農(nóng)燈塔也不能老守著古董級的 Java 不放)喊巍,而 Jetbrains 推出的各種開發(fā)神器之成功也是有目共睹的。 100% 兼容 Java 也并非噱頭箍鼓,而是實打?qū)嵉闹С郑踔?IDE 可以支持直接將 Java 代碼轉(zhuǎn)換成 Kotlin 代碼(目前我自動轉(zhuǎn)換了很多代碼呵曹,僅遇到一例位操作轉(zhuǎn)換失斂羁А)。 總結(jié)起來奄喂,切換成本幾乎沒有(絕大多數(shù)情況可以依賴 Jetbrains 的神器自動轉(zhuǎn)換 Java 代碼)铐殃,同時有巨頭親爹,未來的光明前途不可限量跨新。4. 學(xué)習(xí)和遷移官方網(wǎng)站的文檔和例子非常詳實富腊,一個成熟的 Java 開發(fā)者應(yīng)該很容易快速按照官網(wǎng)的例子學(xué)會。 如果您是編程初學(xué)者并且英文不是很好域帐,不建議在現(xiàn)在這個階段將這門語言作為第一語言(中文社區(qū)資源還不是特別豐富)赘被。 對了,Spring 5 專門為支持 Kotlin 做了大量的工作肖揣,就問你怕不怕:
您是否決定拋棄Java轉(zhuǎn)投Kotlin了嗎民假?
您對于Kotlin的感受如何呢?
未來您更看好什么語言呢龙优?