請問JAVA 轉 Kotlin 變化會很大嗎?
本身是學Java Android studio 功力自認中下...
在網路上找資料時 發現越來越多Kotlin
上網看了一些Kotlin基礎教學 var val method(str:String):Strong{} 之類的
${} 佔位符java沒有的
var a1 ="ABC"
var a2 ="abc"
print(a1.equals(a2,true))// 忽略大小寫 Java是用equalsIgnoreCase()
感覺上差異越來越多 不知道有沒有學完Kotlin前輩跟JAVA差異會不會水很深?
(本文的基礎是陰謀論與怨念,請斟酌閱讀。)
Android Studio是JetBrain開發的
Kotlin也是JetBrain(主導)開發的
Google自己在發展Android的路上,其實它並不看重使用SDK進行開發的設計師/工程師的「工程能力」,(這可能是因為它在暗中期望有一天可以讓AI取代絕大多數的APP開發工作。)它看重的是「建立自己在一個平台上的絕對主導權威性」,像是「這件事情我要你們這樣做、這樣設計、這樣解決,你們就給我背下來、然後照做就是了!」
(所以Android的官方Guide文件含金量都很低,回去社群問問看就知道,看再多教程,到最後你還是要去翻原始碼,但問完翻完你依舊不知道或不敢肯定「該怎麼解決問題」。)
(在這樣的文化下,工程師寫程式的結構大多很草率,很吃語法糖,但寫得很快、Code很少、自己維護自己寫的東西都很快。)
但不管是Java、Linux、還是最早使用的IDE「Eclipse」背後的IBM或這整個平台的文化,他們都不支持Android這樣做吧!顯然JetBrain願意,所以雙方合作就越來越融洽。(看看AndroidStudio上用來開發Firebase功能的工具。)
所以問題不是今天的差異大不大的問題
而是明天差異肯定會開始出來,會越來越大,直到Google說「Android上再無Java為止」。(Google肯定會這樣做。從把Runtime換成Art,開始開發Fushia,到推出MVVM機制同時把整個編譯器大升級/大換血......它一直在建立「這樣做」的本錢與能力。)