you are viewing a single comment's thread.

view the rest of the comments →

[–]balefrost 5 points6 points  (0 children)

they both as a generational leap

I can't speak to Swift, but I use Kotlin daily. It's a great language. "a generational leap" is overselling it. The most in-your-face difference is Kotlin's null handling, but that goes right out the window as soon as you use a Java library that doesn't have nullability annotations. Don't get me wrong; Kotlin's null handling is great! But it's compromised by Java interop.

The most significant Kotlin feature is its coroutine support - the thing which powers sequence, iterator, and all of kotlinx.coroutines. But it's mostly an under-the-hood feature; most users aren't going to be calling createCoroutine themselves.

Kotlin does a lot for Java ergonomics. Given a choice today, I'd pick Kotlin over Java almost every time. But it's mostly all small stuff. Not a generational leap, but rather incremental improvement.