popcorny 積分 0

看來 Ingram已經跳Kotlin一段時間了,我自己還沒有試過,但是對java很過時的語言特色很感冒。用Kotlin有什麼缺點,會不會有太多語言專用的library的缺點? 我對scala最感冒的就是他把整個標準函式庫都翻了,所以寫scala幾乎就被scala的library綁住了。

這是文章的子討論串,你可以回到上層查看所有討論和文章
IngramChen 積分 3

Kotlin 的缺點

  • compile 會有點慢,慢 30% 吧
  • IDE 有時候會頓頓的
  • 然後和 Spring cglib 混合時,開發階段有時會有靈異現象。(有一段 code 居然不會被呼叫… 不管 rebuild 幾次都沒用,重開機才會好…)

上面是比較困擾的小問題,但如你說見,都是 tooling 相關的。語言本身反而沒有遇到什麼障礙。tooling 的話就是隨時間會慢慢改進。

Scala 把 collection 標準函式都翻了,所以轉來轉去很煩,還用一些 implicit 去轉,越補越大洞。Kotlin 它的 std library 有夠小的,Java 有的通通都沒有翻,用 kotlin collection 就是順順順。你可以感覺就是用另一個 sugar 語言寫 Java 而已,寫出來的成品還是 Java。

至於效能面我還沒評估,但我也不太擔心就是,JVM 本來就超快,可以容許你寫沒效率的程式。如果未來遇到 bottleneck 就那段用 Java 重寫就好了。

要學 kotlin ,不會太難學,但也要一段時間才能寫出有 kotlin 味道的程式,但是比學 scala 快多了。

學 kotlin 最快的方式是安裝 kotlin-koan1 plugins ,然後花一個下午走一遍,就會對 kotlin 很有感覺,也算是有了初步的評估。

團隊要導入就是:

  • 安排一個下午大家一起寫 kotlin-koan,一起討論
  • 隔天開始從 unit test 開始改起
  • 一週後沒人會再想寫 Java :-)