對 Kotlin 與 Java 編程語言的思考

近期學習了下 Kotlin,不得不說 Kotlin 比 Java 簡潔不少,個人感覺代碼量能減少 50%。到現在已經使用Java語言做服務端開發兩年半的時間了,對Java某些囉嗦的語法也是有很多想法。這篇文章談談我對Kotlin和Java的看法。

編程語言整體排名

TIOBE Index for November 2018

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

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

Kotlin 的優點

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

  1. 能直接與Java相互調用,能與Java工程共存
  2. 大大減少樣板代碼
  3. 可以將Kotlin代碼編譯爲無需虛擬機就可運行的原生二進制文件
  4. 支持協程
  5. 支持高階函數
  6. 語言層面解決空指針問題
  7. 對字符串格式化的處理($變量名)
  8. 更像Python的語法
  9. 對λ表達式支持更好
  10. 中綴表達式

Kotlin 的缺點

  1. 儘管Google大力推崇Kotlin,Kotlin似乎並沒有特別火熱
  2. Java變量名和Kotlin關鍵字可能產生衝突
  3. Kotlin空安全和Java工程結合仍然存在問題

談論下 Java 語言

Java 語言的缺陷

  1. 囉嗦的語法:很多Java類庫的行數動不動就是1000+
  2. 僞泛型
  3. 完全面向對象:這是Java最大的優點,但是也是很大的缺點。我想寫個工具類,也要新建一個對象?
  4. 沉重的歷史包袱:因爲要考慮向前兼容的問題,很多支持和改進並不徹底,最大的例子就是JDK 1.5引入的泛型。

Java 11

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也存在版本分裂的問題。用再好的筆,也寫不出更好的文章。如果單單是使用編程語言開發的話,充分利用好一門編程語言和IDE就足夠了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章