對 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