自從今年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é)習和遷移 官方網(wǎng)站的文檔和例子非常詳實,一個成熟的 Java 開發(fā)者應(yīng)該很容易快速按照官網(wǎng)的例子學(xué)會日熬。 如果您是編程初學(xué)者并且英文不是很好棍厌,不建議在現(xiàn)在這個階段將這門語言作為第一語言(中文社區(qū)資源還不是特別豐富)。 對了竖席,Spring 5 專門為支持 Kotlin 做了大量的工作耘纱,就問你怕不怕:
您是否決定拋棄Java轉(zhuǎn)投Kotlin了嗎?
您對于Kotlin的感受如何呢毕荐?
未來您更看好什么語言呢束析?