1. 程式人生 > >對 Kotlin 與 Java 程式語言的思考

對 Kotlin 與 Java 程式語言的思考

  

 

  從長遠來看,排名前10的也基本上是Java、C、C++、Python、C#、VB、PHP、JavaScript。至於Kotlin的排名,11月份在程式語言僅排41名,Ratings僅有0.216%。

  

 

  曾看到一個理論是說,看一個事物還能存在多久,首先要看看它已經存在了多久。如果一門程式語言已經存在了20年,那麼它在20年後也不會消失。像C、VB這樣的語言,至今仍然能夠在程式語言排行榜中佔據非常重要的位置。

  Kotlin語言中文站官方網站已經有非常詳細的說明,這裡我只想說下我剛剛接觸Kotlin兩天的體會。

  1.能直接與Java相互呼叫,能與Java工程共存

  2.大大減少樣板程式碼

  3.可以將Kotlin程式碼編譯為無需虛擬機器就可執行的原生二進位制檔案

  4.支援協程

  5.支援高階函式

  6.語言層面解決空指標問題

  7.對字串格式化的處理($變數名)

  8.更像Python的語法

  9.對λ表示式支援更好

  10.中綴表示式

  1.儘管Google大力推崇Kotlin,Kotlin似乎並沒有特別火熱

  2.Java變數名和Kotlin關鍵字可能產生衝突

  3.Kotlin空安全和Java工程結合仍然存在問題

  1.囉嗦的語法:很多Java類庫的行數動不動就是1000+

  2.偽泛型

  3.完全面向物件:這是Java最大的優點,但是也是很大的缺點。我想寫個工具類,也要新建一個物件?

  4.沉重的歷史包袱:因為要考慮向前相容的問題,很多支援和改進並不徹底,最大的例子就是JDK 1.5引入的泛型。

  JDK開始收費。我覺得JDK開始收費是個好事情,至少Java的版本釋出週期變更為每六個月一次 —— 每半年釋出一個大版本,每個季度釋出一箇中間特性版本,並且承諾不會跳票。Java 6的釋出時間是2009年,Java 7的釋出時間是2011年,Java 8是2014年。新版本的Java確實有許多方便的特性和類庫的升級。

  JDK升級。由於工作原因,我使用了近2年的Java 6。僅僅是升級到了Java 8,就已經極大地提高了我的開發效率!——更不用說類庫底層的優化。

  總的來說,Java號稱是C++ --,Kotlin就像是Java++。Kotlin沒有像Java一樣的歷史包袱,設計之初就是為了解決Java的痛點。

  但是世界上並沒有完美的語言——像Python也存在版本分裂的問題。用再好的筆,也寫不出更好的文章。如果單單是使用程式語言開發的話,充分利用好一門程式語言和Ij