8
Why Kotlin is my next programming language — Medium (medium.com)
IngramChen 積分 5

是說我也跑一次 tutorial 了,kotlin 的確有些地方讓我這 Java 開發者非常的心動。 (例如 builder, data class)

但是沒支援 Java8/Stream 讓人沮喪。然後和 Spring 合用時問題一堆1 。看大家這麼推我還以為所有 Java library/framework 都能無縫接軌咧… 原來扯到 CGLib 這類的東西 kotlin 還是很無力,但偏偏用 CGLib 的 framework 很多啊。kotlin 在這點還待時間的驗證。

另外最讓我意外的是:

fun main(args: Array<String>) {
  arrayOf(1, 2, 3).forEach {
    print(it);
    return;
  }
}

closure 裡的 return 會直接跳出 block,所以只會印出 1。先不論這是好是壞,但這跟其他程式的行為差的有點多,移植 Java 程式時這會有一堆 bug 啊。這不該是一個講求最高 Java 合作的語言該做的選擇。

至於 Android 面,我正在等 async/await 的功能,因為這才會是真正殺手功能。Android 的程式寫起來很繁雜,但靠著 retrolambda 和 butterknife 還算過的去。但 async/await 帶來的優點就不是任何 Java library 可以做到的。

總而言之,現階段我還是選擇先等一下,等 kotlin 1.1,等 spring 支援的更好,等 async/await。

whitglint 積分 1

Xamarin 可以用 async/await

IngramChen 積分 1

那整個 app 要用 xamarin 重寫, 而且不能用現有所有 anroid 資源 (lib, 人力...etc). xamarin 的 commitment 也是有待考慮.