Java 10 發布,是時候關註 Kotlin 了
Java 10 發布了,對於廣大程序員來說,算是個大新聞。畢竟在程序員的世界裏,Java 仍然保持了一哥的地位,也就是說,這個世界上使用 Java 語言編程的程序員可能是最多的。不過最近 Java 大版本更新的速度確實讓老程序員們瞠目結舌。十八年前,也就是千禧年 2000,Sun 公司像神經病一樣連續在 5 月份推出了 JKD1.3 和 1.4,按照現在的版本規則,也就是 Java 3 和 4。四年以後 Java 5 發布,那是 2004 年,這種發布節奏讓程序員完全找不到節奏,以至於 Java 5 發布了一年多之後,大部分程序員還在使用 4。2006年 Java 6 發布了,程序員們在抱怨 Java 語法滯重繁瑣發展緩慢的同時,開始期待 Java 兩年發布一次大版本,希望這貨能做個正常的有節奏的編程語言。
然而並沒有。
下一個版本的更新我們等了五年,那時候很多人都產生了一種錯覺,以為 Java 語言就此不更新了。
就這麽個更新頻率,現在開始每半年發布一個大版本,迅速把 Java 拉升到 10 這個裏程碑,Java 的小夥伴們都驚呆了。就像一個穩健的中年大叔,比如二爺,每隔幾年有可能出來走兩步,某一天悍然宣布每過半年就要跑個馬拉松,誰能相信哩?
Java 語言的升級,一方面是 Oracle 的推動和現代語言的需要,另一方面也和 Java 平臺上其他語言的迅猛發展帶來的壓力有關系。Java 發展緩慢,JVM 卻是個好東西,除了 Java 跑在 JVM 上之外,還有 Scala、Groovy、JRuby、Clojure 等一系列編程語言新貴,目前看來,其中最值得重視的可能是後來居上的 Kotlin。事實上,其他小弟都是 Java 語言的補充或優化,犯上作亂的很少,人家也沒這麽大心思。Kotlin 不是,這位小弟是來砸場子的,它被設計出來的目的是取代 Java。
Kotlin 發布
Kotlin 是一門運行在 JVM(Java 虛擬機)上的現代編程語言,靜態語言,因為目標是取代 Java,所以,Java 可以做的事情,可以待的地方,Kotlin 都能做,都能去。Java 不能做的事情,Kotlin 也能做。
Kotlin 並不是一門新語言,它誕生於2011年,是 JetBrains 公司開發的。寫過 Java 程序的程序員有可能不知道 JetBrains,但是沒聽過 IntelliJ IDEA 的應該不多。IDEA 是 Java 領域最傑出的開發工具,一出道就與 Eclipse 並駕齊驅,深得 Java 程序員喜愛。IDEA 的特點是什麽呢?效率高,入門簡單,支持的開發框架範圍極廣,快捷鍵堪比 Vim,小白與大師級程序員的主要區別是用 IDEA 的時候碰不碰鼠標。和 Eclipse 不同,IDEA 一出生就充滿了貴族的氣息……嗯,主要是貴,一年差不多一千多人民幣,還不打折。
這麽貴會有人買嗎?有啊,還年年買,因為在程序員的世界裏,我們認為,貴就是好。
IDEA 為 JetBrains 帶來了巨大的現金流,於是該公司令人發指的為每一個熱門語言開發了一套 IDE,比如 PyCharm,Golang,Clion,PhpStorm,RubyMine,WebStorm……IDE 們立功了,它們一網打盡天下喜歡花錢的程序員,沒有給 Eclipse 任何機會。
終於,JetBrains 開始不滿足研發 IDE……因為給 Java 做 IDE 年頭最久,Jet 的工程師們對 Java 語言的理解可謂絲絲入扣,知道哪裏有問題,哪裏有缺陷,哪裏需要改進……有多少愛就有多少恨,於是他們決定開發一門語言替代 Java —— 別惹程序員現代版本:)
說幹就幹,2011年 Kotlin 發布,2012年開源,2016 發布1.0,迅速贏得之前不得不熱愛 Java 的程序員響應,可謂振臂一呼,應者雲集。2017年,Goolge I/O 大會宣布,Kotlin 語言成為 Android 平臺開發一級語言。至此,Kotlin 完成了醜小鴨到公主的蛻變,開始突飛猛進,最新版本是 1.2。
Kotlin 命名
為什麽這門語言叫 Kotlin 呢?和 Java(爪哇島)有啥關系麽? Kotlin 是俄羅斯聖彼得堡團隊開發的,他們想和 Java 一樣用一個島來命名新語言,於是找到了位於聖彼得堡以西 30 公裏處芬蘭灣的一個科特林島,英文就是 Kotlin,一門新的編程語言誕生了。
Kotlin 就像所有具備雄心壯誌的小弟一樣,目的就是取代 Java,坐上大哥的位置,現在進展如何呢?在編程排行榜上,Java 依然穩穩的坐在一哥的位置,俯視群雄,Kotlin 則以火箭般的速度從一個籍籍無名之輩進入了前四十。就像所有的黑幫片一樣,想要坐上大哥的位子並不是那麽容易的,Java 花了十幾年的時間打敗了 C,C 依然排在第二位,下一個王者是誰,沒有人知道,但是這件事一定會發生,只是什麽時候和由誰完成的問題。
Kotlin 具備這樣的素質。
Kotlin 的應用場景和特點
Kotlin 可以開發強大的服務器端應用。簡明和表現力強的代碼,與 Java 的完全兼容和平滑的學習曲線足以讓程序員選擇 Kotlin 在服務器端編程。Kotlin 支持安全類型推斷和委托屬性,引入了協程的概念可以編寫高可用服務,還有大量的第三方框架可用,比如 Spring、Vert.x、Ktor、kotlinx.html 等。最後,Kotlin 是 JetBrains 的親兒子,自然有強大的 IDE 支持。
Kotlin 還可以進行 Android 開發,JavaScript 開發(將 Kotlin 轉化為 JavaScript),Kotlin 還可以開發完全的原生應用,也就是把 Kotlin 語言編譯成沒有虛擬機的原生二進制程序,支持的平臺包括 Windows、Linux、macOS、iOS、Android 等,從這一點,基本上可以看出 Kotlin 的雄心有多大了。
Kotlin 的語言有什麽特點呢?
1、簡潔,同樣的功能實現比 Java 的代碼要少很多。
2、原生支持函數式編程和面向對象編程。支持協程。
3、安全,可以有效防止程序員疏忽導致的類型錯誤。大部分錯誤都會在編譯時發現,而不是在運行時。
4、類型推導,和 Swift 一樣,Kotlin 的編譯器可以根據變量在上下文的環境中推導出它的數據類型,而不是強制聲明。
5、與 Java 100% 的互操作性,不需要任何轉化和包裝就可以調用 Java 對象,反之亦然。
……
Kotlin 比我之前見過的任何一個 JVM 編程語言都更具王者之氣,應用範圍和語法穩健並且實用。如果你是個 Java 程序員,是時候關註並使用 Kotlin 了,無論是公司還是個人。
喜歡小編輕輕點個關註吧。
Java 10 發布,是時候關註 Kotlin 了