很高興Kotlin在前兩天發佈了Kotlin/Native的Tech Preview版本。Kotlin/Native能把Kotlin編譯成機器碼,也就是C/C++、Go和Rust的層次,因而這個領域又添一位競爭對手。編程
JetBrains是一家務實的公司,它家的各類IDE讓人讚不絕口。它創造的Kotlin也是一門務實的編程語言,借鑑Java和Scala的精華,以實用性爲導向。服務器
Kotlin的宣傳語是「100%可與Java互操做」,事實證實確實如此,極低的學習成本和採用成本,極高的開發效率提高,在Android上已經火得不得了了,我在服務器上也用得很開心。如今Kotlin編譯到機器碼,不運行在JVM,就不能沿用Java的生態系統了,而是要融入系統編程的生態系統。Kotlin也的確是想作一個高性能的「膠水」。在這個領域,失去了JVM的庇佑,卻獲得了新的力量。編程語言
Kotlin已經實現了編譯到JavaScript,如今又編譯到機器碼,野心不可謂不大。它的實力可否匹配野心呢?從JetBrains的 博客 來看,他們對Kotlin/Native也是很務實的態度,因此這個項目是值得期待的。技術預覽版來了,Alpha和Beta還會遠嗎?歡欣鼓舞!函數
Kotlin/Native利用LLVM來編譯到機器碼,如今已支持4個平臺:微服務
這意味着開發者們已經能夠愉快地開始體驗了!性能
Kotlin/Native仍然很看重互操做性(Interoperability)。它能高效地調用C函數,甚至還能從C頭文件自動生成對應的Kotlin接口,發揚了JetBrains爲開發者服務的良好傳統!學習
關於內存管理,如今的計劃是在不一樣平臺使用各自適合的內存管理技術,例如在服務器和桌面平臺傾向於使用追蹤式垃圾回收(tracing GC),而在iOS則傾向於使用iOS已有的ARC技術。在某些平臺則可能手動管理內存。如今的Tech Preview版本只提供了一種附帶循環檢測的引用計數式內存管理,但並無決定最終會怎樣選擇內存管理技術。優化
這個版本基本上沒作什麼優化,因此在benchmark中可能會表現得很差。可是必定會努力優化,用實際數聽說話,而不會拿理論來忽悠人。標準庫和反射功能也還遠未完成,可是願意作這些東西已經讓我以爲很良心了。blog
博客中列出的將來計劃包括:接口
進軍iOS意味着要在移動端全制霸,並且還想進軍這麼多領域,彷佛盤子有點太大了。我但願他們能把JavaScript先放下,畢竟不少語言都在這裏折戟了,還記得當年的GWT嗎?不如在Native層多多發力,先定一個小目標——搶Go語言的盤子。